Alt + F2 (Uruchom aplikację) nie działa dla poleceń niestandardowych

10

Aby przyspieszyć rozwój Androida, edytowałem swój ~/.bashrc , aby dodać kilka ścieżek do PATH :

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

Działa to dobrze z poziomu wiersza poleceń (mogę po prostu wpisać android i bez względu na to gdzie jestem, Android SDK i AVD Manager uruchomią się dobrze.

Jeśli jednak spróbuję wpisać android w oknie dialogowym Alt + F2 (Uruchom aplikację), pojawi się następujący błąd:

  

Nie można otworzyć pliku lokalizacji: /// home / felix / android '

     

Błąd oznaczający plik "/ home / felix / android": brak takiego pliku lub katalogu

Dlaczego tak jest? Jakiego PATH używa okno dialogowe "Uruchom aplikację"?

    
zadawane Felix 04.01.2011, 10:20
źródło

3 odpowiedzi

9

Zakładam, że bashrc nie jest odczytywany przez Gnome, i dlaczego powinien, ponieważ jest to plik konfiguracyjny dla bash .

Określa moją ścieżkę w ~/.profile . Plik ten jest zdecydowanie odczytywany przez środowiska Gnome i XFCE, a także przez inne osoby. (Ale jest to odczyt tylko przy logowaniu, więc musisz się wylogować i wrócić do wszelkich zmian, aby odnieść skutek!)

    
odpowiedział Carsten Thiel 04.01.2011, 10:44
źródło
1

~/.bashrc jest domyślnie włączone przez ~/.profile . Katalog ~/bin jest również domyślnie dodany do PATH . Utwórz katalog ~/bin i dodaj łącza sym-bol ( ln -s ) do aplikacji, które zamierzasz użyć lub zmodyfikuj ~/.bashrc .

Domyślna zawartość wspomnianych plików znajduje się w /etc/skel - używana podczas tworzenia nowego konta i katalogów domowych.

    
odpowiedział Raphael Bossek 04.01.2011, 11:16
źródło
0

Miałem ten sam problem z Linux Mint (Cinnamon 2.8.8) i nie było sposobu, abym mógł pracować z normalnymi poprawkami (używając .profile , zmieniając Xsession shebang na /bin/sh -l ).

Problem polega na tym, że /bin/sh , który jest zwykle dowiązaniem symbolicznym do /bin/dash , odczytuje ~/.profile , jeśli jest to powłoka logowania (tj. z opcją -l ).

Możesz to sprawdzić za pomocą 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 +++

Nie mogłem znaleźć skryptu do zmiany (wypróbowałem go w / etc / X11 i / etc / mdm), ale bez powodzenia.

Więc rzuciłem ręcznik i zmieniłem /bin/sh , aby wskazywało /bin/bash zamiast /bin/dash i teraz działa. :)

    
odpowiedział elias 12.07.2016, 16:23
źródło

Przeczytaj inne pytania na temat tagów