Estoy creando .desktop
archivos para usar en Unity Launcher.
Tengo mi propia ubicación en mi directorio de inicio donde pongo mis ejecutables ( ~/usr/bin/
) que se agregan correctamente a mi PATH
variable de entorno en mi .pam_environment
archivo como se especifica en la documentación relevante de Ubuntu .
Este es el contenido de mi .pam_environment
archivo:
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/
Lo que da como resultado que mi PATH
variable sea la siguiente:
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/
Sé que se agrega dos veces, pero cualquier cosa en el .pam_environment
archivo parece agregarse dos veces sin importar qué cuando se usa la sintaxis correcta recomendada en la Documentación de Ubuntu a la que he hecho referencia.
Este es un ejemplo del problema (ocurre con todos los casos). Tengo un script (llamadoeclipse
) en el ~/usr/bin/
que se ejecuta Eclipse IDE.
Puedo abrir cualquier terminal y simplemente escribir eclipse
y funciona bien como cabría esperar.
Pero cuando se usa el siguiente .desktop
archivo:
#!/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
Me sale el error:
Pero cuando cambio la Exec=
línea a:
Exec=/home/ben/usr/bin/eclipse
Funciona perfectamente.
La documentación oficial de Unity Launchers y Desktop files sugiere que esto debería funcionar:
Exec es la ruta al archivo ejecutable. La ruta completa al archivo ejecutable debe usarse solo en caso de que no se encuentre en ninguna de las rutas especificadas en la variable $ PATH. Por ejemplo, cualquier archivo que esté dentro de la ruta / usr / bin no necesita tener su ruta completa especificada en el campo Exec, sino solo su nombre de archivo.
¿Alguna sugerencia sobre lo que está pasando?