シェルを実行するこのランチャーを作成しました:
[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Icon[en_US]=gnome-sudoku
Name[en_US]=MServer.desktop
Exec=/home/lucasfonseca/myapplication/server.sh
Comment[en_US]=bla=foo
Name=MServer
Comment=foo
Icon=gnome-sudoku
server.sh には次の内容があります:
#!/bin/bash
python webserver/server.py
ランチャーをクリックすると、ランチャーが開いて閉じます。サーバーが実行しません。このランチャーを開いたときに、ターミナル ウィンドウでサーバーを実行するにはどうすればよいですか?
答え1
実際のところ、問題は間違った道だったのです。
相対パスを取得してスクリプトを実行するために、次のコードを使用しました。.sh/server.sh
[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Icon[en_US]=gnome-panel-launcher
Name[en_US]=Server
Exec=sh -e -c "exec \\"\\$(dirname \\"\\$0\\")/.sh/server.sh\\";$SHELL" %k
Comment[en_US]=aaaaaaaaaaa
Name=Server
Comment=aaaaaaaaaaa
Icon=gnome-panel-launcher
ヒント: エラーがある場合、ランチャーはターミナルを表示しません。そのため、開発時に最終的なエラー メッセージを表示できるように、ping localhost
スクリプトの最後に (私のスクリプトのようにserver.sh
) のようなものを追加することをお勧めします。