ちょっとした普段のよく使うコマンド・作業。
イーモバの接続だとか、sshfsのマウント、自作のSMTP認証とか。
毎日同じコマンドを打つ少しの手間を、もう少し手間をかけてスクリプトにしてショートカットアイコンを作成。
てことをするわけだけど、X上でコマンド実行するとウンともスンとも言わないので、実行されたんだかなんだかわからんし、愛想がない。

こんな悩みを一発で解決してくれる強い味方がコイツ、Xdialogだ。
簡単コマンドでメッセージボックスを作成出来るスグレモノ。
オフィシャルサイトのトップページでノリノリのペンギンが果てしなく陽気。

xubuntu9.10では、aptでインストールしようとしたら、

パッケージ xdialog はデータベースには存在しますが、利用できません。
おそらく、そのパッケージが見つからないか、もう古くなっているか、
あるいは別のソースからのみしか利用できないという状況が考えられます
E: パッケージ xdialog にはインストール候補がありません
と、残念なお知らせ。

ノリノリのオフィシャルサイトからソースを落としてきてmakeするんだけど、xubuntu9.10では./configureに--with-gtk2オプションを付けないとだめだったので注意。9.04のときはいらんかったんだけどな。でも--with-gtk2オプション付けてビルドした方が出来るウィンドウがかっこいい。

$ ./configure --with-gtk2
$ make
$ sudo make install
でインストール完了。

コマンドの使い方はmanを見るとよくわかる。
なんかうまくいかないときは、オプションの指定の順番が悪いことが多い気がする。
オプションの順番は、manに出てくる順番で行けば結構イケる。

で、具体的に、こんな感じのスクリプトを書いた。

#!/usr/local/bin/php
<?php
if(!is_dir("/v/MyDocuments")){    //これが無ければマウントされてない。
    
`sshfs -oIdentityFile=~/id_rsa_genkikko genkikko@genkikko.net:/home/genkikko /v -o modules=iconv,from_code=euc-jp,to_code=utf8,idmap=user,allow_other,transform_symlinks`;    //マウントします。
    
if(is_dir("/v/MyDocuments/")){    //これがあればマウント成功。
        
exec("Xdialog --title\"mount V\" --ok-label \"開く\" --cancel-label \"いらん\" --yesno \"Vドライブがマウントされました。\n/v/MyDocuments/をthunarで開きますか?\" 8 52",$output,$ans);    //成功メッセージを出して
        
if(!$ans){    //yesが押されたら何も返ってこないので
            
`thunar /v/MyDocuments/`;    //実行
        
}
    }
}else{    
//最初からマウント済みだったパターン
    
exec("Xdialog --title \"mount V\" --ok-label \"開く\" --cancel-label \"いらん\" --yesno \"Vドライブはマウント済みですよ。\n/v/MyDocuments/をthunarで開きますか?\" 8 52",$output,$ans);        //マウントされてる旨を通知。
    
if(!$ans){
        `
thunar /v/MyDocuments/`;
    }
}

?>
--yesnoの戻り値は、yesのとき0、noのとき1だったので、戻り値があればnoと判断。

これを実行すると、
image
こんな感じでうまいこと使えました。