Help us understand the problem. What is going on with this article?

北大の学内 wifi (elms-g) への接続を自動化する.(新字新かな)

More than 5 years have passed since last update.

北大の図書館や一部の校舎では,学内 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 を書いた:

connect_elms-g.rb
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 が必要になる.これを自動化する方法は

北大の wifi への login を自動化

に記した.私は .zshrc に

alias wie='ruby $HOME/connect_elms-g.rb; ruby $HOME/elms-g_login.rb'

と書いてあるので,図書館等で PC を開いたら

$ wie

とすることですぐに net を利用できる.便利である.

ticonz
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away