有没有办法在 .desktop 文件中设置环境变量?我正在尝试使用自定义 gtk 样式运行应用程序 (eclipse),因此基本上我想通过运行 .desktop 文件来获得以下结果:
GTK2_RC_FILES=gtkrc.custom /path/to/eclipse
我尝试将它放入 bash 脚本并从 .desktop 文件运行它,但它不能很好地与 Unity 启动器集成。
答案1
您可以通过编辑应用程序文件来为其添加环境变量.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
答案2
修改.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
。
答案3
这似乎是 kmenuedit 的问题。它从不保存 .desktop 文件中的“环境变量”字段。希望这能有所帮助。我打开了 KDE 的一个错误。“FOO=my_var_1”从未被保存,也从未被发送到应用程序。