我的程序需要一个环境变量作为其参数之一的一部分:
myprogram --folder=$HOME/.special
但是,如果我将它放入 .desktop 文件的 exec 行,它就不起作用:
Exec=myprogram --folder=$HOME/.special
$HOME 似乎没有解决。
最佳答案
默认情况下,环境变量似乎不会被所有实现解析,但是您可以改为执行 sh,这将解析传递的环境变量。请注意,桌面规范还要求您使用反斜杠转义 = 和 $ 字符。所以你想要:
Exec=sh -c "myprogram --folder\=\$HOME/.special"
有关需要转义的字符的完整列表,请参阅 the specification
关于linux - 如何访问 .desktop 文件的 exec 行中的环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8980464/