Je crée des .desktop
fichiers à utiliser dans Unity Launcher.
J'ai mon propre emplacement dans mon répertoire personnel où je mets mes exécutables ( ~/usr/bin/
) qui sont correctement ajoutés à ma PATH
variable d'environnement dans mon .pam_environment
fichier comme spécifié dans la documentation Ubuntu pertinente .
Voici le contenu de mon .pam_environment
dossier:
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/
Ce qui fait que ma PATH
variable est la suivante:
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/
Je sais qu'il est ajouté deux fois, mais tout ce qui se trouve dans le .pam_environment
fichier semble être ajouté deux fois, quelle que soit l'utilisation de la syntaxe correcte recommandée dans la documentation Ubuntu que j'ai référencée.
Ceci est un exemple du problème (cela se produit dans tous les cas). J'ai un script (appelé eclipse
) dans ~/usr/bin/
lequel s'exécute Eclipse IDE.
Je peux ouvrir n'importe quel terminal et simplement taper eclipse
et cela fonctionne bien comme vous vous en doutez.
Mais lors de l'utilisation du .desktop
fichier suivant :
#!/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
Je reçois l'erreur:
Mais quand je change la Exec=
ligne en:
Exec=/home/ben/usr/bin/eclipse
cela fonctionne parfaitement.
La documentation officielle des lanceurs Unity et des fichiers de bureau suggère que cela devrait fonctionner:
Exec est le chemin d'accès au fichier exécutable. Le chemin complet du fichier exécutable ne doit être utilisé qu'au cas où il ne se trouve dans aucun des chemins spécifiés dans la variable $ PATH. Par exemple, tous les fichiers qui se trouvent dans le chemin / usr / bin n'ont pas besoin que leur chemin complet soit spécifié dans le champ Exec, mais seulement leur nom de fichier.
Des suggestions sur ce qui se passe?