回答:
.desktop
ファイルを編集して、環境変数をアプリケーションに追加できます。たとえば、環境変数を使用して "digiKam"を実行するAPPMENU_DISPLAY_BOTH=1
には、対応するdigikam.desktop
ファイルを見つけ、env
コマンドを介してエントリの "Exec"に変数の設定を追加します。
Exec=env APPMENU_DISPLAY_BOTH=1 digikam -caption "%c" %i
あなたの場合:
Exec=env GTK2_RC_FILES=gtkrc.custom /path/to/eclipse
.desktop
ファイルを変更する別の方法は、ラッパースクリプトをに配置することです~/bin
。
$ cat ~/bin/eclipse
#!/bin/sh
export GTK2_RC_FILES=gtkrc.custom
exec /usr/bin/eclipse "$@"
これにより、次回アプリケーションパッケージが更新されたときにカスタマイズが上書きされなくなります。
編集:
これが機能する理由についてのヒントは、PATH
変数に含まれるものを確認することで確認できます。私の場合:
$ 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
はリストの最初のフォルダーであるため、前に表示され/usr/bin
ます。
.desktop
ファイルの更新の恩恵を受けることはできません。
~/bin
に役立つかはわかりません。パッケージ所有の.desktop
ファイルには、そのラッパーは表示されません。次も使用する必要がありますupdate-alternatives
.desktop
ファイルはラッパーを「見る」必要はありません。それは単に実行eclipse
されPATH
、ラッパーのためにの代わりに選択され/usr/bin/eclipse
ます。答えを編集して明確にしました。
$HOME
?を含む環境変数を設定するにはどうすればよいですか?どちらExec=env MYVAR="$HOME/foo"
もExec=env MYVAR="~/foo"
拡張されません。代わりに、文字通り渡されます。