一尘不染

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

linux

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

myprogram --folder=$HOME/.special

但是,如果我将其放入.desktop文件的exec行中,它将无法正常工作:

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

$ HOME似乎什么也没解决。


阅读 753

收藏
2020-06-03

共1个答案

一尘不染

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

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

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

2020-06-03