사용자 지정 명령에서 Alt + F2 (응용 프로그램 실행)가 작동하지 않습니다


12

Android 개발 속도를 높이기 위해 ~/.bashrc경로를 추가하도록 편집 했습니다 PATH.

export PATH=${PATH}:/opt/android-sdk/tools:/opt/android-sdk/platform-tools

이것은 명령 줄에서 잘 작동합니다 ( android어디서든 입력 할 수 있으며 Android SDK 및 AVD Manager는 정상적으로 시작됩니다.

내가 입력하려고 할 경우, androidAlt+F2대화 상자 (응용 프로그램 실행), 다음과 같은 오류를 제공합니다 :

'file : /// home / felix / android'위치를 열 수 없습니다

'/ home / felix / android'파일을 표시하는 중에 오류가 발생했습니다 : 해당 파일 또는 디렉토리가 없습니다.

왜 그런 겁니까? 어떤 PATH응용 프로그램 실행 대화 사용합니까?

답변:


11

나는 bashrcGnome에 의해 읽히지 않는다고 가정 하고 왜 구성 파일이기 때문에 그 이유를 알아야합니까 bash?

에 경로를 정의 ~/.profile합니다. 이 파일은 Gnome 및 XFCE 환경에서 확실히 읽 히며 다른 사람들도 읽어야합니다. (그러나 로그인시에만 읽히므로 변경 사항을 적용하려면 로그 아웃했다가 다시 로그인해야합니다!)


PATH=문을 옮기고 ~/.profileAlt + F2와 터미널에서 모두 작동합니다. 감사.
Felix

제 경우에는 로그인 쉘로 시작하도록 X 세션을 만드는 방법을 알 수 없었습니다. ~/.profile그래서 / bin / sh를 / bin / dash를 가리 키도록 변경해야했습니다.
elias

1
안녕하세요, Gnome 3.30.1입니다. PATH 설정이 ~/.profile더 이상 작동하지 않습니다. 이것에 대한 업데이트가 있습니까?
iago-lito

2

~/.bashrc~/.profile기본적으로 포함되어 있습니다 . ~/bin디렉토리에 추가됩니다 PATH너무 기본적으로. 만들기 ~/bin디렉토리와 추가 심볼릭 링크 ( ln -s당신이 의도를 사용하는 응용 프로그램을), 또는 수정 ~/.bashrc.

언급 된 파일의 기본 내용은 /etc/skel새 계정과 홈 디렉토리를 만드는 동안 사용됩니다.


1
예, 경우는 .profilea로 실행중인 bash! 조건부 $BASH_VERSION에서 정의되고 있는지 확인하고 그놈은하지 않습니다. 그런데 조건을 제거하면 LXDE와 같은 일부 데스크톱 환경에 문제가 발생합니다.
Carsten Thiel

0

Linux Mint (Cinnamon 2.8.8)와 동일한 문제가 있었고 일반적인 수정 프로그램 (을 사용하여 shebang을으로 .profile변경 )으로 작업 할 수있는 방법이 없었습니다 .Xsession/bin/sh -l

문제는 로그인 쉘인 경우 (즉, 옵션이 주어진 경우) 읽을 수 /bin/sh있는 심볼릭 링크 입니다./bin/dash~/.profile-l

strace로 확인할 수 있습니다.

$ strace -e open dash
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/dev/tty", O_RDWR)                = 3
$ ^D
+++ exited with 0 +++
$ strace -e open dash -l
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/dev/tty", O_RDWR)                = 3
open("/etc/profile", O_RDONLY)          = 3
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=12260, si_status=0, si_utime=0, si_stime=0} ---
open("/etc/profile.d/Z97-byobu.sh", O_RDONLY) = 3
open("/etc/profile.d/bash_completion.sh", O_RDONLY) = 3
open("/etc/profile.d/vte.sh", O_RDONLY) = 3
open("/home/elias/.profile", O_RDONLY)  = 3
$ ^D
+++ exited with 0 +++

어떤 스크립트를 변경해야하는지 알 수 없었으며 (/ etc / X11 및 / etc / mdm에서 많은 스크립트를 시도했지만) 운이 없습니다.

그래서 나는 수건을 던지고 대신에 /bin/sh가리 키도록 바뀌었고 지금 작동하고 있습니다. :)/bin/bash/bin/dash

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.