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

标签 linux freedesktop.org

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

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/

相关文章:

linux - 获取打开特定文件的应用程序列表

c++ - 如何用 g++ (Ubuntu) 编译 OpenAL 程序?

python - 使用 python 压缩所有子目录

c - 低级 DBus C API 主循环

database - systemctl 启动 postgresql-13 启动失败

c++ - 国家和语言代码检测

dbus glib 绑定(bind)​​ UDisks 错误

c# - Mono Process.Start 返回 ExitCode 255?

linux - vi命令:s/1, $/ABC/CBS的含义?

python - 如何使用 Python 在 Linux 服务器中自动创建用户