もうちょっとPPP接続を便利に

シェルスクリプト改良版を用意してみた。

/usr/local/bin/connect-ppp.sh

#!/bin/bash

CONNECTION=$1
OPTION=$2
PPPD="/usr/sbin/pppd"
PPPOFF="/etc/ppp/ppp-off-force"
CONNECT="${PPPD} call ${CONNECTION} ${OPTION}"

ps ax | grep ${PPPD} | grep -v grep
if [ $? = 0 ]; then
echo "disconnect"
${PPPOFF}
else
echo "make connection ${CONNECTION}"
${CONNECT}
fi

使い方は

# /usr/local/bin/connect-ppp.sh 接続名 オプション

ODNだとnoauthオプションが必要なので、

# /usr/local/bin/connect-ppp.sh PacketWIN@ODN noauth

のように使う。
処理内容は単純で、pppdのプロセスがあればppp-off-forceで切断し、なければpppdで接続を試みる。
実際に接続できたかどうかとかはチェックしない。
まだX Windowのタスクバーとかに表示させる方法何かがわからないので。
単に成功時に表示させるのは簡単そうだけれど、自動切断されたときとかにそれを検知する方法がわからないからなー

で、X Windowというかmatchboxから使用するには例のごとく.desktopファイルを用意する。
/usr/share/application/PPPconnectODN.desktop

[Desktop Entry]
Categories=Application;Network;
Exec=/usr/local/bin/connect-ppp.sh PacketWIN@ODN noauth
Icon=kppp.png
StartupNotify=true
Terminal=false
Type=Application

Name=Connect/Disconnect PPP

これをタスクバーのタップアンドホールドメニューからAdd->Launchersに追加する。
ランチャーアイコンクリックで接続/切断ができるようになる。

さらについでに、System->Input setup->Silkscreenタブで"*"にシェルスクリプトを登録する。
(ここにワンワードで表示されるようにする方法がわからないので、フルコマンド・オプション記述した)
これで、シルクスクリーンの"*"をタップするとやっぱり接続/切断してくれる。

以前に作ったmatchboxのタスクバーアプレットのふりをするやつも一応これバージョンにしてみた。多分使わないけれど。

・・・って、アレ?
ランチャーは他のアプリが立ち上がっているとうまく動作しないな。
シルクスクリーンの方はよさげですが。