Zenity-コマンドラインスクリプトとシェルスクリプトでグラフィカル(GTK +)ダイアログボックスを作成します


GNU Linux、Linuxと呼ばれる非常に強力なカーネル上に構築されたオペレーティングシステム。 Linuxは、コマンドライン操作で有名です。日常のLinuxとデスクトップコンピューティングの発明により、nixはコマンドラインに偏ることがなくなり、同様にグラフィカルであり、グラフィカルアプリケーションの開発はもはや困難な作業ではありません。

この記事では、「Zenity」と呼ばれるGTK +アプリケーションを使用した単純なグラフィカルダイアログボックスの作成と実行について説明します。

Zenityとは何ですか?

Zenityはオープンソースであり、GTK +ダイアログボックスをコマンドラインでシェルスクリプトを使用して表示するクロスプラットフォームアプリケーションです。グラフィカルボックスのシェルとの間で情報を要求したり提示したりすることができます。このアプリケーションを使用すると、コマンドラインでグラフィカルダイアログボックスを作成でき、ユーザーとシェル間の対話が非常に簡単になります。

他にも選択肢はありますが、特に複雑なプログラミングが必要ない場合は、Zenityのシンプルさに匹敵するものはありません。 Zenity、あなたが手に入れなければならないツール。

  1. FOSS Software
  2. Cross Platform Application
  3. Allow GTK+ Dialog Box Execution
  4. Command Line Tool
  5. Support in Shell Scripting
  1. Easy GUI Creation
  2. Less features than other complex Tools
  3. Enables shell scripts to interact with a GUI users
  4. Simple dialog creation is possible for graphical user interaction

Zenityはすべての既知の主要なプラットフォームで利用可能であり、GTK +ライブラリに基づいているため、Zenityプログラムを別のプラットフォームとの間で移植できます。

LinuxへのZenityのインストール

Zentityはデフォルトでインストールされているか、今日のほとんどの標準Linuxディストリビューションのリポジトリで利用できます。以下のコマンドを実行することで、がマシンにインストールされているかどうかを確認できます。

[email protected]:~$ zenity --version 

3.8.0
[email protected]:~$ whereis zenity 

zenity: /usr/bin/zenity /usr/bin/X11/zenity /usr/share/zenity /usr/share/man/man1/zenity.1.gz

インストールされていない場合は、以下に示すように、AptまたはYumコマンドを使用してインストールできます。

[email protected]:~$ sudo apt-get install zenity		[on Debian based systems]

[email protected]:~# yum install zenity				[on RedHat based systems]

さらに、ソースファイルからビルドしたり、次のリンクを使用して最新のZenityソースパッケージ(現在のバージョン3.8)をダウンロードしたりすることもできます。

  1. http://ftp.gnome.org/pub/gnome/sources/zenity/

Zenityの基本ダイアログボックス

コマンドラインから直接呼び出すことができるZenityの基本的なダイアログの一部。

[email protected]:~# zenity --calendar
[email protected]:~# zenity --error
[email protected]:~# zenity --entry
[email protected]:~# zenity --info
[email protected]:~# zenity --question
[email protected]:~# zenity --progress
[email protected]:~# zenity --scale
[email protected]:~# zenity --password
[email protected]:~# zenity --forms
[email protected]:~# zenity --about

シェルスクリプトダイアログの作成

ここでは、単純なシェルスクリプトを使用したZenityダイアログの作成について説明します。 (上記のように)シェルから直接Zenityコマンドを実行することで単一のダイアログを作成できますが、意味のある結果を得るために2つのダイアログボックスをリンクすることはできません。

あなたからの入力を受け取り、結果を表示するインタラクティブなダイアログボックスはどうですか。

#!/bin/bash 
first=$(zenity --title="Your's First Name" --text "What is your first name?" --entry) 
zenity --info --title="Welcome" --text="Mr./Ms. $first" 
last=$(zenity --title="Your's Last Name" --text "$first what is your last name?" --entry) 
zenity --info --title="Nice Meeting You" --text="Mr./Ms. $first $last"

それを「anything.sh」(通常)に保存し、実行可能にすることを忘れないでください。 any.shファイルに755権限を設定し、スクリプトを実行します。

[email protected]:~# chmod 755 anything.sh 
[email protected]:~# sh anything.sh

従来のシバン別名ハッシュバン

#!/bin/bash

以下の行の「first」は変数であり、変数の値は実行時に生成されます。

    1. –entry‘ means zenity is asked to generate an text Entry box.
    2. – title=‘ defines the title of generated text box.
    3. —text=‘ defines the text that is available on text Entry box.
    first=$(zenity --title="Your's First Name" --text "What is your first name?" --entry)

    以下のスクリプトファイルのこの行は、「ようこそ」というタイトルと「Mr./Ms.first」というテキストの情報(–info)ダイアログボックスを生成するためのものです。

    zenity --info --title="Welcome" --text="Mr./Ms. $first"

    スクリプトのこの行は、新しい変数「last」が定義されていることを除いて、スクリプトの2行目と同様です。

    last=$(zenity --title="Your's Last Name" --text "$first what is your last name?" --entry)

    スクリプトのこの最後の行もスクリプトの3行目と同様であり、変数「」と「」の両方を含む情報ダイアログボックスを生成します。

    zenity --info --title="Nice Meeting You" --text="Mr./Ms. $first $last"

    シェルスクリプトを使用してカスタムダイアログボックスを作成する方法の詳細については、次のリファレンスページZenityにアクセスしてください。

    1. https://help.gnome.org/users/zenity/stable/

    次の記事では、ZenityをGUIユーザーとの対話のためのより多くのシェルスクリプトと統合します。それまでは、しばらくお待ちください。Tecmintに接続します。コメントセクションで貴重なフィードバックを提供することを忘れないでください。