北大の圖書館や一部の校舎では,學内 wifi (elms-g) を利用できる.本稿ではこれへの接續を自動化する方法を書く.
私は wifi への接續に wicd-cli を使つてゐる.本稿に登場する option の意味をあらかじめ書いておくと,
wicd-cli -h
-n NETWORK, --network=NETWORK
-p NETWORK_PROPERTY, --network-property=NETWORK_PROPERTY
-S, --scan
-l, --list-networks
-c, --connect
-y, --wireless
のとほりである.
elms-g の飛んでゐる場所で
$ wicd-cli -ySl
とすると,
# BSSID Channel ESSID
0 00:1D:73:C2:AB:50 1 elms-g
1 00:1D:73:C2:AB:53 1 eduroam
2 00:1D:73:C2:AB:52 1 elms-x
のやうに表示される.
次いで,
$ wicd-cli -ycpelms-g
としてやれば,elms-g としてやれば,elms-g に接續できる.實は,
$ wicd-cli -ySl
の手順は不要である.當該の場所に着いて PC を開いたら,即坐に
$ wicd-cli -ycpelms-g
としてやれば,elms-g に接續できる.
このやうにして快適な elms-g 生活をしてきたが,error が出てうまくいかないことがあると氣づいた.さういふときに
$ wicd-cli -ySl
としてやると,
# BSSID Channel ESSID
0 10:6F:3F:E5:C6:C3 1 eduroam
1 10:6F:3F:E5:C6:C0 1 elms-g
2 10:6F:3F:E5:C6:C2 1 elms-x
3 00:1D:73:F8:D4:30 6 elms-g
4 00:1D:73:F8:D4:32 6 elms-x
のやうに表示される.どうやら,"elms-g" と名乘る電波が複數あつて,wicd-cli に "elms-g" と指定してやつたのではどの電波なのか同定できない,といふのが原因のやうだ.ならば,番號で指定してやらう.
$ wicd-cli -ycn1
としてやつたら無事に接續できた.
elms-g の番號を調べる → その番號で接續する
の流れを自動化してやらうと思ひ,下のやうに script を書いた:
wave_list = `wicd-cli -ySl`
wave_list.each_line do |line|
if line.match(/elms-g/) then
$num = line.split("\t")[0]
end
end
command = "wicd-cli -ycn" + $num
system(command)
elms-g と名乘る電波の番號を取得して,そのうち最も大きいものを $num に格納して,その番號の電波に接續する,といふ script である.
elms-g に接續したあと,LAN への login が必要になる.これを自動化する方法は
に記した.私は .zshrc に
alias wie='ruby $HOME/connect_elms-g.rb; ruby $HOME/elms-g_login.rb'
と書いてあるので,圖書館等で PC を開いたら
$ wie
とすることですぐに net を利用できる.便利である.