Alt + F2 (Esegui applicazione) non funziona per i comandi personalizzati


12

Per accelerare lo sviluppo di Android, ho modificato il mio ~/.bashrcper aggiungere alcuni percorsi a PATH:

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

Funziona bene dalla riga di comando (posso solo digitare androide, indipendentemente da dove mi trovo, l'SDK di Android e AVD Manager si avviano bene.

Tuttavia, se provo a digitare androidnella Alt+F2finestra di dialogo (Esegui applicazione), viene visualizzato il seguente errore:

Impossibile aprire la posizione 'file: /// home / felix / android'

Errore durante la dichiarazione del file '/ home / felix / android': nessun file o directory

Perché? Cosa PATHutilizza la finestra di dialogo Esegui applicazione?

Risposte:


11

Presumo che bashrcnon sia letto da Gnome, e perché dovrebbe, dato che è un file di configurazione per bash.

Definisco il mio percorso in ~/.profile. Questo file viene sicuramente letto dagli ambienti Gnome e XFCE e dovrebbe essere anche da altri. (Ma viene letto solo all'accesso, quindi è necessario disconnettersi e riconnettersi per rendere effettive le modifiche!)


Ho spostato la PATH=frase in ~/.profilee funziona sia in Alt + F2 che in un terminale. Grazie.
Felix,

Nel mio caso, non sono riuscito a capire come far iniziare la sessione X con una shell di accesso in modo che la leggesse ~/.profile, quindi ho dovuto cambiare / bin / sh per puntare a / bin / dash
elias

1
Ehi, questo parla Gnome 3.30.1 e l'impostazione del PERCORSO ~/.profilenon funziona più. C'e 'qualche aggiornamento su questo?
iago-lito,

2

~/.bashrcè incluso ~/.profileper impostazione predefinita. La ~/bindirectory viene aggiunta anche per PATHimpostazione predefinita. Crea la ~/bindirectory e aggiungi sym-links ( ln -s) alle applicazioni che intendi utilizzare o modifica il tuo ~/.bashrc.

Il contenuto predefinito dei file citati è reperibile in /etc/skel- utilizzato durante la creazione di un nuovo account e delle relative directory home.


1
Sì, se .profileviene eseguito da un bash! I controlli condizionali per l' $BASH_VERSIONessere definito, cosa che Gnome non farà. Inoltre, la rimozione della condizione comporterà problemi con alcuni ambienti desktop, come LXDE.
Carsten Thiel,

0

Ho avuto lo stesso problema con Linux Mint (Cinnamon 2.8.8) e non c'era modo di farlo funzionare con le solite correzioni (usando un .profile, cambiando Xsessionshebang in /bin/sh -l).

Il problema è quello /bin/sh, che di solito è un link simbolico per /bin/dashleggere ~/.profilese si tratta di una shell di login (cioè, data l' -lopzione).

Puoi verificarlo con 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 +++

Non sono riuscito a capire quale script cambiare (ne ho provati alcuni sotto / etc / X11 e / etc / mdm), ma senza fortuna.

Così ho gettato l'asciugamano e ho cambiato /bin/shper indicare /bin/bashinvece /bin/dashe funziona ora. :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.