Gibt es eine Möglichkeit, die Umgebungsvariable in der .desktop-Datei festzulegen? Ich versuche, eine Anwendung (Eclipse) im benutzerdefinierten GTK-Stil auszuführen. Daher möchte ich das folgende Ergebnis erzielen, indem ich eine .desktop-Datei ausführe:
GTK2_RC_FILES=gtkrc.custom /path/to/eclipse
Ich habe versucht, es in ein Bash-Skript einzufügen und über die .desktop-Datei auszuführen, aber dann lässt es sich nicht gut in den Unity-Launcher integrieren.
quelle
$HOME
? Weder wirdExec=env MYVAR="$HOME/foo"
nochExec=env MYVAR="~/foo"
erweitert. Stattdessen werden sie wörtlich übergeben.Eine Alternative zum Ändern der
.desktop
Datei besteht darin, ein Wrapper-Skript in z~/bin
.Auf diese Weise wird die Anpassung beim nächsten Aktualisieren des Anwendungspakets nicht überschrieben.
Bearbeiten:
Ein Hinweis, warum dies funktioniert, können Sie sehen, indem Sie überprüfen, was die
PATH
Variable enthält. In meinem Fall:~/bin
ist der erste Ordner in der Liste und wird daher vorher angeschaut/usr/bin
.quelle
.desktop
Datei.~/bin
dabei helfen wird. Die paketeigene.desktop
Datei wird diesen Wrapper niemals sehen! Sie müssten auch verwendenupdate-alternatives
.desktop
Datei muss den Wrapper nicht "sehen". Es wird nur ausgeführteclipse
, und aufgrundPATH
des Wrappers wird statt ausgewählt/usr/bin/eclipse
. Ich habe die Antwort bearbeitet, um sie zu klären.