105 votes

Définir une variable dans le fichier .desktop

Existe-t-il un moyen de définir la variable d'environnement dans le fichier .desktop ? J'essaie d'exécuter une application (eclipse) avec un style gtk personnalisé, donc en fait je veux obtenir le résultat suivant en exécutant un fichier .desktop :

GTK2_RC_FILES=gtkrc.custom /path/to/eclipse

J'ai essayé de le mettre dans un script bash et de le lancer à partir du fichier .desktop, mais alors il ne s'intègre pas bien avec le lanceur Unity.

155voto

jasmines Points 9942

Vous pouvez ajouter une variable d'environnement à une application en modifiant son fichier .desktop fichier. Par exemple, pour exécuter "digiKam" avec la variable d'environnement APPMENU_DISPLAY_BOTH=1 trouvez la valeur correspondante digikam.desktop et ajouter le paramétrage de la variable, via le fichier env à l'entrée "Exec" :

Exec=env APPMENU_DISPLAY_BOTH=1 digikam -caption "%c" %i

Dans votre cas :

Exec=env GTK2_RC_FILES=gtkrc.custom /path/to/eclipse

11voto

Wade73 Points 2102

Une alternative à la modification de l .desktop est de mettre un script enveloppant dans par exemple ~/bin .

$ cat ~/bin/eclipse
#!/bin/sh
export GTK2_RC_FILES=gtkrc.custom
exec /usr/bin/eclipse "$@"

De cette façon, la personnalisation ne sera pas écrasée lors de la prochaine mise à jour du paquet d'applications.

Editar:

Un indice sur la raison pour laquelle cela fonctionne peut être vu en vérifiant ce que l'option PATH variable contient. Dans mon cas :

$ echo $PATH
/home/gunnar/bin:/home/gunnar/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

~/bin est le premier dossier de la liste, et est donc regardé avant /usr/bin .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X