Sto creando .desktop
file da utilizzare in Unity Launcher.
Ho la mia posizione nella mia directory home dove ho messo i miei eseguibili ( ~/usr/bin/
) che sono correttamente aggiunti alla mia PATH
variabile di ambiente nel mio .pam_environment
file come specificato nella relativa documentazione di Ubuntu .
Questo è il contenuto del mio .pam_environment
file:
LANGUAGE=en_AU:en_GB:en
LANG=en_AU.UTF-8
LC_NUMERIC=en_AU.UTF-8
LC_TIME=en_AU.UTF-8
LC_MONETARY=en_AU.UTF-8
LC_PAPER=en_AU.UTF-8
LC_NAME=en_AU.UTF-8
LC_ADDRESS=en_AU.UTF-8
LC_TELEPHONE=en_AU.UTF-8
LC_MEASUREMENT=en_AU.UTF-8
LC_IDENTIFICATION=en_AU.UTF-8
PATH DEFAULT=${PATH}:~/usr/bin/
Il risultato è che la mia PATH
variabile è la seguente:
ben@ben-HPdv6:~$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:~/usr/bin/:~/usr/bin/
So che viene aggiunto due volte, ma qualsiasi cosa nel .pam_environment
file sembra essere aggiunta due volte, indipendentemente da ciò che è accaduto quando ho usato la sintassi corretta raccomandata nella documentazione di Ubuntu.
Questo è un esempio del problema (succede in tutti i casi). Ho uno script (chiamato eclipse
) in ~/usr/bin/
cui viene eseguito Eclipse IDE.
Posso aprire qualsiasi terminale e semplicemente digitare eclipse
e funziona bene come ci si aspetterebbe.
Ma quando si utilizza il seguente .desktop
file:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Name=Eclipse - Juno (4.2)
Icon=/home/ben/.icons/eclipse.svg
Exec=eclipse
Ottengo l'errore:
Ma quando cambio la Exec=
linea in:
Exec=/home/ben/usr/bin/eclipse
funziona perfettamente.
La documentazione ufficiale di Unity Launchers e dei file desktop suggerisce che questo dovrebbe funzionare:
Exec è il percorso del file eseguibile. Il percorso completo del file eseguibile deve essere utilizzato solo nel caso in cui non si trovi in nessuno dei percorsi specificati nella variabile $ PATH. Ad esempio, tutti i file che si trovano all'interno del percorso / usr / bin non devono avere il loro percorso completo specificato nel campo Exec, ma solo il loro nome file.
Qualche suggerimento su cosa sta succedendo?