zenityコマンドでLinuxお手軽GUIプログラム

スポンサーリンク

はじめに

GUIが呼び出せるコマンドzenityを紹介します。
呼び出せるのはカレンダーや入力画面など結構多彩。
なんちゃってGUIアプリケーションが簡単に作れてしまう。

www.shangtian.tokyo

実行環境はLinux mintです。僕の場合はすでにインストールされていました。
もしインストールされていなかったら

$sudo apt-get install zenity

でインストールされるはず。

マニュアルはこちらから。

help.gnome.org

たぶんコマンドでhelpしたほうがわかると思う。




基本的な使い方


基本的な使い方は以下のとおり

$zenity ---アプリケーションオプション --title タイトル  --text テキスト

アプリケーションを指定したあとタイトルの指定とウィンド内に表示させたい
内容をtextに書き込む。どのアプリケーションソフトを使うかで、
アプリーケーションオプションの あとに指定出来るオプションも違う。
詳しい使い方は

$zenity --help

で見ることが出来る。


いろいろなGUIアプリ



じっさいどんなアプリがzenityで使えるのか順番に紹介していきます。


カレンダー


まずカレンダーから。アプリケーションオプションだけ指定して実行してみると

$zenity --calendar


f:id:shangtian:20190107221542p:plain


つぎはカレンダーにタイトルを入れてみます。タイトル名はカレンダー


$zenity --calendar --title カレンダー 


f:id:shangtian:20190107221545p:plain



エラー


つぎはエラー表示。タイトルとテキストを追加しました

$zenity --title エラー --text エラー


f:id:shangtian:20190107221549p:plain



確認画面


yes or noの質問が出来るやつ。これはオプションなしでやりました


$zenity --question



f:id:shangtian:20190107221605p:plain



ファイル選択



つぎはファイル選択画面の表示。これがこのコマンドだけで呼び出せるのは
すごく魅力的ですね〜

$zenity --file-seection



f:id:shangtian:20190107221555p:plain



進捗表示バー


進行バーです。ただ呼び出すだけだと

$zenity --progress

f:id:shangtian:20190107221608p:plain

このprogressのオプションは

--text テキスト
ダイアログに表示させるテキスト
--percentage パーセンテージ
初期のパーセンテージを指定する

--auto-close
100%に達したら自動で終了させる


$zenity --progress --title 進捗 --percentage 20

f:id:shangtian:20190108223243p:plain


警告


これは警告表示

$zenity --error

f:id:shangtian:20190107221602p:plain


お知らせ


おしらせしま〜すww

画面の端っこにヒョイッと表示されます。結構使いみち多そう。

$zenity --notification

f:id:shangtian:20190107221558p:plain



パスワード


パスワード入力画面も表示できます。まずはただ呼び出してみる

$zenity --password

f:id:shangtian:20190107221611p:plain

せっかくなんでパスワードを入れてみます。

シェルスクリプトを書きます。

#!/bin/bash

ENTRY=`zenity --password`

case $? in
         0)
                 echo "pass: `echo $ENTRY | cut -d'|' -f1`"
                 ;;
         1)
                 echo "do not accept. try again, please";;

        -1)
                 echo "unexpected error"

esac

実行権限を与えて

$sudo chmod u+x login.sh

実行してみる

f:id:shangtian:20190108230845p:plain

f:id:shangtian:20190108230851p:plain


<参考文献>

Zenity マニュアル