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

我的程序需要一个环境variables作为其参数的一部分:

myprogram --folder=$HOME/.special 

但是,如果我把它放到一个.desktop文件的exec线,它不起作用:

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

$ HOME似乎解决了什么。

Solutions Collecting From Web of "如何访问.desktop文件的exec行中的环境variables?"

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

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

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