Recent Comments

BIND+PHPによるDiCEで更新可能なダイナミックDNSサーバ構築
 [09/09] Big Black Ass様
 [09/09] Buy Vicodin様
 [09/09] Stop drinking and take zoloft様
DiCEのプラグイン編集
 [09/09] susie様
 [09/09] ikfepzemjah様
 [09/09] lakia様
日記:携帯ストラップにUSBメモリ
 [09/07] [doxycycline hyclate 100mg]様
日記:Windows7RCがDVDドライブを認識しない
 [09/07] what is doxycycline様
買った(日記):Dynabook SS 1610 11L/2
 [09/07] [doxycycline lyme disease]様

Profile

名前:げんき
職業:ねじ屋さん
趣味:機械いじり
  買ったものや試したことを日記混じりで書きつづっております。

中の人

なかのひと
Graph 2010.9.9
Year:  Month:  Day

<<< Linux:cocotで文字コードの違うシステムにssh接続 <<<  ||  >>> 買った:EMOBILE Pocket WiFi(D25HW) >>>

xubuntu:Xdialogを使う

2009年11月14日

ちょっとした普段のよく使うコマンド・作業。
イーモバの接続だとか、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
こんな感じでうまいこと使えました。

<<< Linux:cocotで文字コードの違うシステムにssh接続 <<<  ||  >>> 買った:EMOBILE Pocket WiFi(D25HW) >>>

アンケート

このページの内容はいかがでしたか?
片手間にポチっと送信してやってください。
役に立った 1
おもしろかった 0
ふつー 0
つまらなかった 0
欲しい情報と違った 0
Score:2

トラックバック

このエントリーのトラックバックURL:
http://www.genkikko.net/mt/mt-tb.cgi/146

コメントを投稿