シェルを実行するこのランチャーを作成しました:
[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Exec=/full/path/server.sh
Name=MServer
Comment=foo
Icon=gnome-sudoku
完全なパスがわからないため、相対パスを実行する必要があります。
Exec=server.sh
しかし、相対パスを使用した上記のコードは機能しません。相対パスから実行するにはどうすればよいですか?
答え1
の役職@FedonKadifeli さんの提案が役に立ちました。
考えられる解決策は次のとおりです。
Exec=sh -e -c "exec \\"\\$(dirname \\"\\$0\\")/.sh/server.sh\\";$SHELL" %k
コマンドの説明:
以下のスニペットは、それを実行している人のディレクトリ名、つまりランチャーのディレクトリ名を取得します。
$(dirname \\"\\$0\\")
したがって、目的のパスを追加すると、相対パスが実行されるようになります。