Linuxで開発してみる – デスクトップアプリを作る bash + whiptailでコマンドラインアプリ –

今回はデスクトップアプリというかコマンドラインアプリという感じです

こんなやつ

raspbianのraspi-configみたいなやつが作れます。こんなの
Screenshot_from_2013-08-22 14:23:47

というかraspi-configの中にwhiptailが使われているので。

whiptailって?

コマンドライン上で動く、選択式のメニューやダイアログを呼び出すやつです
前に書いたbash + zenityはGUI環境がないと動作しませんが、whiptailの場合はGUI環境がなくても動くのでSSHでログインした時でも動いたり、GUIが標準装備でないサーバでも動いたりします。

色んな環境で動く反面、機能は多くありません。

だいたいどんなことが出来るかは、以下のブログをどうぞ(英語)
How to use whiptail to write interactive shell scripts – TechRepublic

サンプルプログラム

1.以下のテキストを「whiptail01.sh」という名前で保存します

#!/bin/bash
whiptail --title "Example Dialog" --msgbox "This is an example of a message box. You must hit OK to continue." 8 78

2.保存したプログラムを実行してみます

$ bash whiptail01.sh

3.以下のような画面がでると成功です
Screenshot_from_2013-08-22 14:22:46

まとめ

・bash+whiptailを使うとGUIでない環境でもダイアログなどを出すことが出来る
・でもGUIじゃないから見た目は貧弱で機能も少なめ
・結果の取得などがbash式でちょっとややこしい

こういうダイアログや選択式メニューはコマンドで動くアプリケーションの一部として実装されることが多いので、元のアプリケーションがpythonならpythonで、rubyならrubyで作ったほうが効率はいいかもしれません。

bashなどのシェルスクリプトでアプリ作ったけど、できるだけ少ない手間でちょっとだけ見栄えを良くしたいなぁ、という人向け