NetWalkerに擬似電波強度表示を追加
お外ではNetWalkerはS11HTでDUNして繋いでいるので、地下鉄メインな通勤経路だと、駅間は当然全滅で、駅に停車している時は圏内の駅と圏外の駅があるわけです。駅間はしょうがないとしても、駅内はもうちょっと繋がるようになってほしいなぁ、、、イーモバよ。
どうやら、BluetoothのDUNの場合、1回繋がると圏外でもIPを保持したままで繋がってるつもりで動きつづけてて、何かのタイミングか、あるタイムアウト値でppp0が切れるような気配。midoriとかfirefoxは電波が届かないとやけにCPU食い始めて暴走するし。今そもそも電波があるのかないのかがわからないのです。S11HTはかばんの中にいれているので、わざわざかばんからだして電波何本かなーってのは非常に面倒くさい。そこで、以下のよーなスクリプトを書いてconkyに組み込みました。ただ適当なサイトにpingをうって何msかかったかを知るだけのスクリプトです。で、何msかを画面に出せばいいのだけどそれだと面白くないので、閾値をきめて、シンボルフォントで絵文字表示にしました。ほんとは携帯電話の電波本数の絵文字フォントを探していたのだけどircで面白いフォントをおしえてもらったのでそれを使ってみました。海外のconkyなページをみると、みなさんかっこいいフォントとかでかっこいいデスクトップを作っているので、conkyでは普通にやる方法なかんぢ。画像じゃなくてfontで表現って面白い。
ping応答が 100ms 〜 499ms の時です。ギャンや。時計の部分です。
ネットに繋がっていないとき。大阪さんがぼーっとしています。時計の部分です。
今のところ5秒間隔で動かしてます。しょせんpingとgrepとgawkだけなので負荷はぜんぜんかかりまへん。
自分用メモ(てへ。
閾値 | 文字列 | 表示 |
---|---|---|
-99ms | w(小文字) | 空飛ぶちよちゃんとちよ父 |
100ms-499ms | I(大文字) | ギャンや。 |
500ms-999ms | P(大文字) | デンドロや。 |
1000ms- | d(小文字) | ゆかりちゃん |
ネットに繋がってない時(pingが取れないとき) | e(小文字) | 大阪さん |
ネットに繋がってない時(普通に繋がってない時) | G(大文字) | グフや。 |
フォントは dingbatdepot からもらいました。「Aduzings 1」というフォントです。
以下がconkyに組み込んだシェル。例のごとくボク開発者じゃないんでもっときれいに出来る方法があればおしえてくだちゃひ。
#!/bin/sh LANG=C HOST=www.yahoo.co.jp CHECK1=99 CHECK2=499 CHECK3=999 RET=`ping -c 1 $HOST 2>/dev/null | grep icmp_seq | gawk '{print $8;}' | gawk -F = '{print $2;}'` if [ $? ];then #コマンドが成功 if [ $RET ];then if [ $RET -le $CHECK1 ];then echo "w" elif [ $RET -le $CHECK2 ];then echo "I" elif [ $RET -le $CHECK3 ];then echo "P" else echo "d" fi else echo "e" fi else #ping失敗 echo "G" fi
よくみたら conect じゃなくて connect が正しいつづりだね・・・。だめだね。だめすぎ。てへ。
NetWalkerデスクトップカスタマイズ一段落
NetWalkerのデスクトップカスタマイズが一応終わりました。この使いにくいクソ端末を、使いやすくするために、右端にconkyで情報を表示させ、左下にwbarでランチャーを設置。左上と中央で作業を行う。というかんぢにしました。画面がせまいのでconkyには必要最低限のものを入れるしかなくほんとはもっといろいろ入れたいのだけど、あきらめまひた。
こんなかんぢ。
あと、ボタンひとつでBluetooth DUN/UP,Downボタンはwbarの一番右のアイコンにわりあてました。conkyにもppp0のIPアドレスを常時表示させているので、Nofity-OSDとconkyの両方で確認できるようにしまひた。
しかし、mp3再生にCPU100%ということはないのだけど、かっくかっくで聞けたもんじゃない。音質落とさないとだめなのかも。ということで、この使えない子は結局マルチメディア端末にはならないなぁ。ZaurusのときはちゃんとMP3もAVIも再生できたんだけどなぁ。おかしい。ZaurusよりもCPUがつおいはずなのに。
次は何をいぢろうカシラ。右端のconkyは上にステータス、下に時計の2つ起動させていて、一応間をあけているのでそこに何かを入れようと検討ちう。画面狭いからなぁ・・・。
NetWalkerでDUNをボタンひとつで接続/切断
11月2日のblogで試していたNotify-OSDを有効活用できるようにしまひた。
DUN成功したとき。
DUN失敗したとき。
DUN切断したとき。
こんなかんじでポップアップしてくれまふ。zenity でも良いのだけど、notifyのほうがかわいらしいのでふ。
ポイントは、ponするときにユーザがdipにいないといけないようでふので
subaru@subaru:~$ sudo adduser subaru dip ユーザ `subaru' をグループ `dip' に追加しています... ユーザ subaru をグループ dip に追加 終了。 subaru@subaru:~$
を、先にしてあげておきまひょう。あとはgawkがデフォルトで入ってないので入れる。んで、以下のよーなすくりぷとを作っておいて、クイックスタートボタンのどれかに指定しておくと、ボタンひとつでDUNのON/OFFができるようになりまひた。
ほんとうはクイックスタートボタンではなくて、Fn + 2 に割り当てたいのだけど、Fnのキーマップがどうやってとっていいのかわからず、あきらめちう。もうちょっとWEBさーひんして調べよう・・・。Fn + 2に割り当てれればもっと操作性があがるんだけどなぁ。くいっくすたーとぼたんは押しにくい。押してないね。さわってるだけだね。
あとはー、hciconfig hci0 up/down するときにroot権限が必要なんだけど、回避する方法がわからなくって、expectで逃げようと思ったのだけど、sudo の問いかけをひっかけられなくて、断念。しかたがないのでgksudoにしまひた。
まぁ、以下のスクリプトで動いているのでいーんでふ。すばはぷろぐらまーじゃないので、エクセルしか使えないSEなので、もっときれいに書き直したら教えてくださひ。
#!/bin/sh #---------------------------------------- LANG=C MYPPP=ppp0 MYDEV=★★★★★★★★★★★★ MYHCIDEV=hci0 MYPROV=em TIMER=20 IMGOK=/home/subaru/myconf/OK.jpg IMGNG=/home/subaru/myconf/NG.jpg #---------------------------------------- #---------------------------------------- sub_notify() { echo "TRACE notifyよびだし" notify-send -u critical -i $1 $2 $3 } sub_myip() { echo "TRACE IPチェック" MYIP=`/sbin/ifconfig $MYPPP 2>/dev/null | grep 'inet addr' | gawk '{print $2;}' | gawk -F : '{print $2;}'` echo "TRACE IP -> $MYIP" } #---------------------------------------- #DUN中は切断 sub_myip if [ $MYIP ];then echo "TRACE IPがある。poff実行。" poff sub_myip if [ $MYIP ];then echo "TRACE IPがある。poff失敗。" sub_notify $IMGNG "失敗" "DUNの切断に失敗したじぇ。。。" exit else echo "TRACE IPがない。poff成功。" gksudo /usr/sbin/hciconfig $MYHCIDEV down sub_notify $IMGOK "成功" "DUNを切断したじぇ!" exit fi else echo "TRACE IPがない" fi #---------------------------------------- #Deviceのチェック devstatus=`hcitool dev | grep $MYHCIDEV | gawk '{print $2;}' | sed -e 's/\://g'` echo "TRACE DeviceID -> $devstatus" if [ "$MYDEV" != "$devstatus" ]; then #hcitool devでドングルが認識されていない時 echo "TRACE ドングルがオフライン。UP実施。" #ドングルの起動を実施 gksudo /usr/sbin/hciconfig $MYHCIDEV up if [ $? -ne 0 ]; then #UPできない時はあきらめるしかない echo "TRACE ドングルがささってないか認識されてない" sub_notify $IMGNG "えらー" "ドングルがささってないか認識されてないじぇ。再起動しかないじぇ。。。" exit else echo "TRACE ドングルのオンライン化に成功。" fi else echo "TRACE ドングルはオンライン" fi #---------------------------------------- #pon実行 pon $MYPROV while [ $TIMER -gt 0 ];do sleep 1 sub_myip if [ $MYIP ];then echo "TRACE IPがある。" sub_notify $IMGOK "成功" "DUNしたじぇ!現在のIPは$MYIPだじぇ!" exit else echo "TRACE IPがない。" fi echo "TRACE 残り待ち時間 $TIMER 秒。" TIMER=`expr $TIMER - 1` done sub_notify $IMGNG "失敗" "DUN失敗だじぇ。。。" exit
NetWalkerにwbarをむりやりいれちゃう(2)
さて、また再インストールしたときのためのメモを残しておきますが、もっと簡単な方法があれば教えてください・・・。
apt-get updateして apt-get install wbar してみたら、そんなもんねーよばかっていわれた。むかつく。ありえない。どこのNetWalkerオススメしているほーむぺーじでも、Ubuntuアプリがいっぱいはいるよ!とかウソばっかり。armに移植されてないものはたっくさーんあるんデスよ。そんなことも知らないくせに文章書くなよ、といいたい。だまされた!ウソです。だまされてません。そんなことはZaurusで経験ズミですから。
さて、wbar の本家は http://freshmeat.net/projects/wbar/ ココらしいのだけど、どこにソースがあるのかサッパリわかりまへん。英語よめまへん。WEB検索するとどうやら http://www.tecapli.com.ar/rodolfo/ こっちが物置らしいので今日時点での最新版 wbar-1.3.3.tbz2 を落とす。READMEを読むとmakeしてmake installすれば入るじぇ!って書いてあるのにmakeできないんですけどぅ。
g++ `imlib2-config --cflags` -Wall -O2 -c -o IconLoader.o IconLoader.cc
IconLoader.cc: In constructor ‘IconLoader::IconLoader(const char*)’:
IconLoader.cc:20: error: ‘getenv’ was not declared in this scope
make: *** [IconLoader.o] エラー 1
imlib2がだめらすぃ。READMEをちゃんと読むと
===================
wbar
===================Dependencies:
- -
imlib2-dev
と書いてあるので、ここらへんを入れる。
- build-essential
- Imlib2
- Imlib2-dev
- ttf-dustin
でも
IconLoader.cc:20: error: ‘getenv’ was not declared in this scope
make: *** [IconLoader.o] エラー 1
getenvがだめらすぃ。
で、なんどやってもだめ。とにかくmakeが通らない。で、たどり着いた結果は、libstdc++6 が 6.4.4 以上必須らしい。NetWalker最新状態では 6.4.3 なんです。0.0.1だけで入れられない子なんて!apt強制インストールするも動かず。あきらめた。でも落ち着いてよく見てみると、やっぱ getenv がだめなだけそうな気配。で、ソースをgrepすると
IconLoader.cc(20): homeDir = getenv("HOME");
SuperBar.cc(22): ADD_FONT_PATH(getenv("HOME"));
この2行だけ。なので無理やり
IconLoader.cc(20): homeDir = "/home/subaru";
SuperBar.cc(22): ADD_FONT_PATH("/home/subaru");
と書き換えてみたら、makeがとおった・・・。た、たったこれだけのために!exportとかで環境変数を取得してほしかった。でもこんどはmake installでとまる。
フォントとかアイコンが /usr/share/wbar/iconpack/iconpack に入ってしまうようでシンボリックリンクがはれないようだ。な、なぜ。へんなフォルダに。なので、
/usr/share/wbar/iconpack/iconpack にあるものをすべて
/usr/share/wbar/iconpack にmoveしてmake installしたら入った。
で、実行してみると
subaru@subaru:~$ wbar Using /usr/share/wbar/dot.wbar config file. ***** Imlib2 Developer Warning ***** : This program is calling the Imlib call: imlib_free_image(); With the parameter: image being NULL. Please fix your program. /usr/share/wbar/iconpack/wbar.osx/font/12 -> Couldn't load font.
こんどはフォントがないとか言われた。ていうか、なんでOSXなんでしょうか。armがないからosxになったんだね、きっと。で、wbar自体は動いていると思われるし、ただフォントがないだけなようなので、config書き換えようとがさごそ。なんか面倒くさいので、wbarconfを入れる。pythonとpython-gtkがいるらしい。なぜかNetWalkerには最初から入っている様子。なので http://www.ihku.biz/wbarconf/ ココから最新版のソースを落とす。どこが本家ページなのかわからない。i386版はaptで入るんだね。いいなぁ。で、解凍して python wbarconf.py するだけで動く。すげー。すげーよ。そーすると、wbarconfが ~/.wbar を作ってくれるようだ。wbarconfのデフォルトで色々なのが入っているので便利。でも入ってないソフトばっかりだ。これは色々書き換えよう。あと、font指定が楽なので好きなフォントに設定できるのが便利すぎる。かわいらしいフォントに後で変えよう。
結論としては getenv している2行を書き換えるだけで、もしかすると何一つ入れないでも入るかもしれまへん。いや、Imlib2-dev はいれないとダメっぽいな。あとは、libstdc++6 が 6.4.4 にアップデートされるだけで入ると思いまふ。
ちっ、ぜんぜん世界中のUbuntuアプリが入らないじゃないか!だまされた!変なコラムにだまされた!うそです。すいません。だまされてません。
NetWalkerにwbarをむりやりいれちゃう(1)
Miyabixの液晶保護シートが届いたので貼り付けてみまひた。Zaurusの時も使っていた光沢版です。やっぱ透過率が高いほうがいいです。NetWalker発売日にとりあえず仮貼り用に張っていたEM ONE用の安々シートはチラチラして見にくかったー。あとはSmartQ用も一緒に来ました。まだ貼ってません。それと8GBのSDHCも。ほんとは16GBがほしかったのだけど、なんか価格差がすごかったので安いほうに。そもそもそんなにNetWalkerにファイルいれないし。ext3でまるまるフォーマットして一生抜き出さないように使おうかと。いまさらですがPocketRingも買いました。なににつけようかしらカシラご存知カシラ。SmartQにちょうどよさそうだ。でもNetWalkerにつけてみよう。
で、液晶保護シート貼り付け記念でむちゃくちゃになっていたNetWalkerを再インストール。apt-get --purge remove openoffice.org* してから apt-get autoremove したらAnthyが起動しなくなったのデスよ・・・。調子にのって消しまくった、反省。よく見てみると、るーと3.6GBで1.1GBくらいしか使ってないんだから、調子にのって消しまくる必要ないネ。てへ。たりなくなったら色々消してしまおう。基本インストールしまくる方針としまふ(メモメモ。←すぐ忘れる。
で、今日はつかえない子をどうやって自分スタイルでカスタマイズするかを検討してて、SmartQ Ubuntu版 Ver5 にデフォルトで入ってきた wbar が案外軽いので、NetWalkerに入れようと試行錯誤したら、朝になっていまひた。テヘ。全国のNetWalkerユーザさま、おすすめです。こんぴず入れれない子なNetWalkerのランチャーNo1確定。
こんな感じです。まだデフォルトのままで設定かえていませんので、アイコンがあってもあて先がいないものが大半だじぇ。
まうすをアイコンの上にもってくるとちゃんとぴょこぴょこ動くじぇ!ウマー!
GUI設定ツールも動きます。いえい!これさえあれば楽勝でConfig書き換えできるじぇ!ウマーウマー!
ていうか朝6時てどういうことよ。
apt祭りいつのまに。
むむ!NetWalkerデスが。
root@subaru:/home/subaru# apt-get upgrade
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージは保留されます:
araneo-desktop libcairo2
以下のパッケージはアップグレードされます:
apt-xapian-index araneo-config console-setup firefox firefox-3.0
firefox-3.0-branding gdm gnome-app-install gnome-menus gnome-system-monitor
gtk2-engines-pixbuf libgail-common libgail18 libgnome-menu2 libgtk2.0-0
libgtk2.0-bin libgtk2.0-common libnm-glib0 libnm-util1
linux-headers-2.6.28-15-araneo linux-image-2.6.28-15-araneo
mobile-broadband-provider-info network-manager oem-config oem-config-debconf
oem-config-gtk python-gmenu spider-rootfs-version tzdata tzdata-java ubufox
webfav xulrunner-1.9
アップグレード: 33 個、新規インストール: 0 個、削除: 0 個、保留: 2 個。
46.4MB のアーカイブを取得する必要があります。
この操作後に 106kB のディスク容量が解放されます。
続行しますか [Y/n]? n
中断しました。
root@subaru:/home/subaru#
怖かったのでnおしちゃった。てへ。
この中にSharp様カスタマイズ版は入っているのだろうか・・・。なんかなさそうだなぁ。パッケージがアップデートされたらtwitterでつぶやいてくれるようなbotいれば便利なんだけどなぁ。毎晩もしかしてアップされてるかなぁとおもってコマンドうって、何もアップされていないときのガッカリ感はなぁ。むーん。