ホームページ » の仕方 » LinuxでZenityを使用して単純なグラフィカルシェルスクリプトを作成する方法

    LinuxでZenityを使用して単純なグラフィカルシェルスクリプトを作成する方法

    Zenityはシェルスクリプトに単一のコマンドでグラフィカルインターフェースを追加します。シェルスクリプトは繰り返しの多いタスクを自動化するための優れた方法ですが、通常は端末に限定されています - Zenityはそれらを端末からデスクトップに持ち出します。.

    過去にシェルスクリプティングについて紹介しました。あなたはシェルスクリプトを始めるのにプログラマである必要はありません - 彼らはLinuxの端末コマンドの知識以上のものを必要としません.

    Zenityを手に入れる

    ZenityはデフォルトでUbuntuに付属しています。 KubuntuなどのUbuntu派生物を使用している場合は、次のコマンドを使用して手動でインストールする必要があります。

    sudo apt-get install zenity

    ZenityはGNOMEの一部なので、GNOMEデスクトップを使用するLinuxディストリビューションにはすでに含まれているはずです。パッケージマネージャに確認してください。 天才 持っていない場合はパッケージ.

    Zenityを使う

    あなたは端末からZenityで遊ぶことができます。シェルスクリプトで問題が発生したときにエラーウィンドウを作成したいとしましょう。これはあなたが使用できるコマンドの例です:

    "zenity -error -title ="エラーが発生しました。 "-text ="シェルスクリプトの実行中に問題が発生しました。

    コマンドを実行すると、メッセージ付きのウィンドウが表示されます。.

    この単一のコマンドをシェルスクリプトの正しい場所に置くと、グラフィカルなエラーメッセージが表示されます。エラーに関する詳細情報を含めるために変数を使用することもできます。.

    はいまたはいいえの質問をしたいとしましょう。あなたはこのようなコマンドを使用することができます:

    "zenity -question -title =" Query "-text ="スクリプトを実行しますか? "

    あなたはあなたのシェルスクリプトの中でyesかnoの応答をキャッチし、ユーザーがクリックしたボタンに基づいて異なるコマンドを実行することができます。.

    テキスト入力ダイアログもあります。

    zenity -entry -title = "お気に入りのウェブサイト" -text = "お気に入りのウェブサイトは何ですか?"

    ユーザーの入力をシェルスクリプトでキャッチすると、変数として格納できます。.

    ファイルピッカー、カレンダー、その他の種類のダイアログもあります。ダイアログタイプとそのオプションの完全なリストは、Zenityのマニュアルページを参照してください。.

    スクリプト例

    簡単なグラフィカルシェルスクリプトを作成するためにZenityを使ってみましょう。わずか3つのコマンドで、グラフィカルタイマープログラムを作成できます。

    #!/ bin / bash
    #このスクリプトはユーザに時間を尋ね、指定された量だけ待ちます
    回数、アラートダイアログを表示.

    TIME = $(zenity -entry -title = "Timer" -text = "タイマーの期間を入力します。\ n \ n 5秒間に5秒、10分間に10メートル、または2時間に2時間を使用します。

    $ TIMEをスリープ

    "zenity -info -title ="タイマー完了 "-text ="タイマーが終了しました。\ n \ n $ TIMEになっています。 "

    ここではいくつか追加のトリックを使用しています。最初のzenityコマンドからTIME変数の値を取得し、それをsleepコマンドに渡します。私達はまた使用しています / n zenityダイアログに新しいテキスト行を作成する.

    シェルスクリプトを保存して実行した後 chmod + x 実行可能な権限を与えるためにそれをコマンドしてください、我々はそれを起動することができます.

    期間を入力すると、スクリプトは標準を使用します 睡眠 バックグラウンドでカウントダウンするコマンド。 sleepコマンドのタイマーが終了すると、スクリプトはzenity infoメッセージを表示します。.

    このスクリプト用のデスクトップまたはパネルのショートカットを作成し、端末に触れることなく実行することができます。.


    これは、あなたが天才を使ってできることの表面を掻いているだけです。もっと複雑なプログラムを作るためにそれを使うことができます。シェルスクリプトの詳細については、シェルスクリプトでforループを使用するためのガイドをご覧ください。.