ポップアップlxterminalでHello World!
を出力するプログラムを起動するためにlxpanelにボタンを作成したいので、Debian 7で以前成功して実装したテクニックを使用します:
gedit /bin/hello.sh
(以下のコンテンツ):
#!/bin/bash
echo 'Hello World!';
gedit /usr/share/applications/hello1.desktop
(下):
[Desktop Entry]
Version=1.0
Type=Application
Name=Hello1
Comment=Test the terminal running a command inside it
Exec=lxterminal -e "/bin/hello.sh"
StartupNotify=true
Icon=utilities-terminal
Terminal=true
Categories=Utility;
最後のchown
とchmod
は、上記の両方のファイルを次のように使用します。
-rwxr-xr-x 1 a adm 230 1月 1 13:02 /usr/share/applications/hello1.desktop*
-rwxr-xr-x 1 a adm 240 1月 1 12:57 /usr/share/applications/hello1.desktop~*
-rwxr-xr-x 1 a adm 194 1月 1 12:04 /usr/share/applications/hello.desktop*
-rwxr-xr-x 1 a adm 195 1月 1 12:03 /usr/share/applications/hello.desktop~*
-rwxrwxr-x 1 a adm 87 1月 1 12:35 /usr/share/applications//bin/hello.sh*
-rwxrwxr-x 1 a a 87 1月 1 12:25 /usr/share/applications//bin/hello.sh~*
-rwxrwxr-x 1 a adm 134 12月 13 09:56 /usr/share/applications//bin/hello_world.sh*
残念ながら、私が何をしても、hello1.desktop
ファイルは空のlxterminalしか開くことができず、出力はありません。
Lubuntu 14.04を実行していますが、次のチュートリアルに従ってデスクトップファイルを* .shスクリプトプログラムにリンクしました。
また、hello1.desktop
に対して次のバリエーションを作成しました。
6行目(「Exec」行)-これらを試しました:
Exec=sh /bin/hello.sh;
Exec=lxterminal -e “/bin/hello.sh”
Exec=/bin/hello.sh
Exec=sh -c /bin/hello.sh
Exec=lxterminal -x sh -c 'echo hello'
Exec=sh -c 'gnome-terminal echo hello'
Exec=sh -c 'echo hello'
Exec=sh /bin/hello.sh
Exec=sh -c /bin/hello.sh
しかし、最終的にはすべて同じです(ただし、9行目のTerminal=false
に端末がない場合を除きます)。
[システム]-> [アクセサリ]の下にhello1
が表示されますが、クリックするとまだ空白の画面が表示されます。 debian 7.5 LXDE wheezyではこれは本当に簡単にできますが、Lubuntu 14.04でこれをさらに難しくするのは何が悪いのでしょうか?
アンドリュー
私はあなたの問題を何とかして解決しました。
あなたの研究があなたに言ったように、あなたの元の問題は持っていた:
Terminal=true
一緒に:
Exec=lxterminal -e /bin/hello.sh
唯一の問題は、使用する場合:
Terminal=false
スクリプトは実際に実行されますが、スクリプトの実行後にターミナルが閉じます。スクリプトの出力が非常に少ないため、これが発生するのを人間が見ることはできないため、「空白の画面が飛び出している」ように見えます。
私が見る限り(man lxterminal
およびGoogleから)、lxterminalがスクリプトを実行した後に開いたままにするように特定の方法はないので、bashスクリプト(つまり、hello.sh)を変更する必要があります。 )自体。
たとえば、次のいずれかをスクリプトの最後に追加できます。
echo "Press [ENTER] to exit" && read
/bin/bash
他のターミナルエミュレータに関する情報など、コマンドの実行後にシェルが閉じるのを停止する一般的な問題については、以下を参照してください。 ターミナルを閉じずにスクリプトを実行する方法?
ちなみに、デスクトップファイルの末尾にあるセミコロンは何もしないので、削除することもできます。
概要:元のデスクトップファイルに加える必要がある変更はTerminal=false
だけですが、最後に行を追加する必要がありますスクリプトが実行されたことを確認したい場合は、bashスクリプト。