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


12

Aby przyspieszyć rozwój Androida, zredagowałem mój, ~/.bashrcaby dodać kilka ścieżek do PATH:

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

Działa to dobrze z wiersza poleceń (mogę po prostu pisać androidi bez względu na to, gdzie jestem, zestaw SDK systemu Android i AVD Manager zaczną działać dobrze.

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

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

Błąd podczas podawania pliku „/ home / felix / android”: Brak takiego pliku lub katalogu

Dlaczego? Czego PATHużywa okno dialogowe Uruchom aplikację?

Odpowiedzi:


11

Zakładam, że bashrcnie został odczytany przez Gnome i dlaczego powinien, ponieważ jest to plik konfiguracyjny dla bash.

Określam swoją ścieżkę ~/.profile. Ten plik jest zdecydowanie odczytywany przez środowiska Gnome i XFCE i powinien go również inni. (Ale jest czytane tylko przy logowaniu, więc musisz się wylogować i wprowadzić zmiany, aby zastosować!)


Przesunąłem PATH=instrukcję do ~/.profilei działa ona zarówno w Alt + F2, jak i terminalu. Dzięki.
Felix

W moim przypadku nie mogłem wymyślić, jak zrobić sesję X, aby zaczynała się od powłoki logowania, aby mogła odczytać ~/.profile, więc musiałem zmienić / bin / sh, aby wskazywać na / bin / dash
elias

1
Hej, to mówi Gnome 3.30.1 i ustawia ŚCIEŻKĘ ~/.profile już nie działa. Czy jest na to jakaś aktualizacja?
iago-lito

2

~/.bashrcjest ~/.profiledomyślnie dołączony . ~/binKatalog jest dodawany do PATHdomyślnie też. Utwórz ~/binkatalog i dodaj sym-links ( ln -s) do aplikacji, których zamierzasz używać, lub zmodyfikuj swoją ~/.bashrc.

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


1
Tak, jeśli .profilejest wykonywany przez bash! Sprawdzanie warunkowe $BASH_VERSIONbycia zdefiniowanym, czego Gnome nie zrobi. Nawiasem mówiąc, usunięcie tego warunku spowoduje problemy z niektórymi środowiskami pulpitu, takimi jak LXDE.
Carsten Thiel,

0

Miałem ten sam problem z Linux Mint (Cinnamon 2.8.8) i nie było mowy, żebym mógł go uruchomić ze zwykłymi poprawkami (używając .profile , zmieniając Xsessionshebang na /bin/sh -l).

Problem polega na tym /bin/sh, że zwykle jest to dowiązanie symboliczne do /bin/dashodczytu, ~/.profilejeśli jest to powłoka logowania (tzn. Przy danej -lopcji).

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 ustalić, który skrypt należy zmienić (wypróbowałem kilka z nich pod / etc / X11 i / etc / mdm), ale bez powodzenia.

Rzuciłem więc ręcznik i zmieniłem /bin/shna wskazujący /bin/bashzamiast, /bin/dasha teraz działa. :)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.