家の無線だと基本的には自動でつないでくれるから良いんだけど、外で無線つなぐときに使うWi-Fiネットワークを使用可能一覧から選ぶ事がよくあって、起動後にマウスカーソルを画面の右上に持って行って一覧から選んで・・・ってのが面倒くさいのでなんとかならないかなと思ってた。
ふと気になってググったらやっぱりあった。うまくやればこれからその辺りの一連の動作はコマンドラインでうまくやれるようになる。
というわけで参考URLは以下。
使用可能なネットワーク一覧の表示: http://osxdaily.com/2012/02/28/find-scan-wireless-networks-from-the-command-line-in-mac-os-x/
過去に設定済みのWi-Fiネットワーク一覧の表示: http://osxdaily.com/2013/01/03/get-list-preferred-wifi-networks-command-line/
Wi-Fiネットワークを選択して接続する: http://osxdaily.com/2011/04/12/connect-wireless-network-command-line/
一応日本語でちょっとだけ引っ張ってくる。
1、使用可能なSSID一覧の表示。
/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -s
なんぞと言う超絶深い所にあるコマンドで使用可能ネットワークの一覧が見られる。
とりあえず/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airportをシンボリックリンクで検索パスの中におくなり、alias登録するなりしよう。
オプションなしで実行すると使い方がでてきて、
$> alias "airport=/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport" $> airport Usage: airport <interface> <verb> <options> <interface> If an interface is not specified, airport will use the first AirPort interface on the system. ・・・省略 LEGACY COMMANDS: Supported arguments: -c[<arg>] --channel=[<arg>] Set arbitrary channel on the card -z --disassociate Disassociate from any network -I --getinfo Print current wireless status, e.g. signal info, BSSID, port type etc. -s[<arg>] --scan=[<arg>] Perform a wireless broadcast scan. Will perform a directed scan if the optional <arg> is provided -x --xml Print info as XML -P --psk Create PSK from specified pass phrase and SSID. The following additional arguments must be specified with this command: --password=<arg> Specify a WPA password --ssid=<arg> Specify SSID when creating a PSK -h --help Show this help $>
まあ使うのは-sくらいかなぁ。スキャンしてくれて使えるSSID一覧を表示してくれる。
2、現在つないでるネットワーク名の表示、或は接続するネットワーク名の指定
これはnetworksetupコマンドをつかう。
まず、つないでるネットワーク名の取得には、
$> networksetup -getairportnetwork en0
逆に、ネットワークを指定するときは、
$> networksetup -setairportnetwork en0 ネットワーク名 [WEPとかで暗号化されているときはそのキー]
という感じで良いみたい。
ちなみに、en0ってここで書いていたのは、僕の使っているMacBook Airの場合はそれでいけたけど、もしかしたら機種によって違うのかもしれない。
$> networksetup -listallhardwareports Hardware Port: Bluetooth DUN Device: Bluetooth-Modem Ethernet Address: N/A Hardware Port: Wi-Fi Device: en0 Ethernet Address: 7c:d1:c3:e2:6a:8d Hardware Port: Bluetooth PAN Device: en1 Ethernet Address: N/A VLAN Configurations ===================
みたいにして調べられるみたい。
3、設定済みのネットワーク一覧の表示
networksetup -listpreferredwirelessnetworks en0 Preferred networks on en0: Hogehoge 。。。省略
みたいに、2でつかったのと同じデバイス名を渡す事で、プロファイルを設定済みのネットワーク一覧が表示される。
途中から早足だったけど、とりあえずnetworksetupはmanがあるので、それで調べられる。まぁググった方が速いね。
実際コマンドで指定するのは接続するネットワークの指定くらいだから、そのコマンドラインをaliasにするなりしておくだけで十分快適になりそう。