web-dev-qa-db-ja.com

予約文字を含む.desktopファイルにExecキーのコマンドを正しく書き込むにはどうすればよいですか?

Minecraft用の.desktopファイルを作成しようとしています。ファイルの実行時に何も起こらないようです。次のようにExecキーを割り当ててみました。

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

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

しかし、予約文字(〜と$)を正しく入力する方法がわかりません。 Freedesktopの デスクトップエントリ仕様 によると:

引数に予約文字が含まれている場合は、引数を引用符で囲む必要があります。

そして

引用符は、二重引用符で囲み、二重引用符文字、バッククォート文字( "` ")、ドル記号(" $ ")、およびバックスラッシュ文字("\")をエスケープして、その前に追加のバックスラッシュ文字を付けることによって実行する必要があります。実装は、フィールドコードを展開する前、および実行可能プログラムに引数を渡す前に、引用符を元に戻す必要があります。

しかし、それは私には非常に混乱しています。

4
reggie-man

shを実行することは一般的な回避策のようです。これにより、特別なシンボルと変数が正しく解決されます。

Exec=sh -c "Java -jar ~/.minecraft/Minecraft.jar"
3
janos