如何访问.desktop文件exec行中的环境变量?

时间:2012-01-24 00:14:57

标签: linux freedesktop.org

我的程序需要一个环境变量作为其参数之一:

myprogram --folder=$HOME/.special

但是,如果我把它放到.desktop文件的exec行中,它就不起作用了:

Exec=myprogram --folder=$HOME/.special

$ HOME似乎无所事事。

1 个答案:

答案 0 :(得分:23)

默认情况下,环境变量似乎并未被所有实现解析,但您可以改为执行sh,这将解析传递的环境变量。请注意,桌面规范还要求您使用反斜杠转义=和$字符。所以你想要:

Exec=sh -c "myprogram --folder\=\$HOME/.special"

有关需要转义的完整字符列表,请参阅the specification