Ich habe diesen Launcher erstellt, der eine Shell ausführt:
[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Exec=/full/path/server.sh
Name=MServer
Comment=foo
Icon=gnome-sudoku
Ich muss einen relativen Pfad ausführen, da ich den vollständigen Pfad nicht kenne:
Exec=server.sh
Aber der obige Code mit relativem Pfad funktioniert nicht. Wie kann ich ihn vom relativen Pfad aus ausführen?
Antwort1
DerPost@FedonKadifeli hat vorgeschlagen, es habe mir geholfen.
Die mögliche Lösung kann sein:
Exec=sh -e -c "exec \\"\\$(dirname \\"\\$0\\")/.sh/server.sh\\";$SHELL" %k
Erläuterung des Befehls:
Der folgende Codeausschnitt gibt den Verzeichnisnamen des Ausführenden und damit den Verzeichnisnamen des Launchers an.
$(dirname \\"\\$0\\")
Wenn Sie also den gewünschten Pfad anhängen, wird dieser als relativer Pfad ausgeführt.