如何在包含保留字符的 .desktop 文件中正确编写 Exec 键的命令?

reg*_*man 6 quoting freedesktop .desktop assignment

我正在尝试为 Minecraft 制作一个 .desktop 文件。执行文件时似乎没有发生任何事情。我尝试按如下方式分配 Exec 键:

Exec= java -jar "~/.minecraft/Minecraft.jar"

Exec= java -jar "$HOME/.minecraft/Minecraft.jar"

但我不确定如何正确输入保留字符(~ 和 $)。根据 Freedesktop 的Desktop Entry Specification

如果参数包含保留字符,则必须引用该参数。

引用必须通过将参数括在双引号之间并在双引号字符、反引号字符 ("`")、美元符号 ("$") 和反斜杠字符 ("\") 之前加上一个额外的反斜杠字符来完成。在扩展域代码和将参数传递给可执行程序之前,实现必须撤消引用。

但这对我来说非常令人困惑。

jan*_*nos 5

execute 似乎是一种常见的解决方法sh,它将正确解析特殊符号和变量:

Exec=sh -c "java -jar ~/.minecraft/Minecraft.jar"
Run Code Online (Sandbox Code Playgroud)