Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

MacOSX 無線LAN 自動接続禁止を sleepwatcher で実現

45 views
Skip to first unread message

Yasushi Shinjo

unread,
May 14, 2014, 11:50:09 PM5/14/14
to
新城@筑波大学情報です。こんにちは。

MacOSXの無線LANは、以前に接続したことがある無線LANを記憶していて、自動
的に接続してしまいます。自動接続を禁止するには、「使ったことがあるネッ
トワーク」から削除すれば良いのですが、接続した時にまたパスワード等を打
つ必要があります。禁止したいのは、自動接続だけで、パスワードはまた打ち
たくはありません。

無線LAN 自動接続を禁止するのに、sleepwatcher でスリープする時に無線LAN
の電源を落とすという方法を試した所、うまくいきました。スクリプトとして
はこんな感じ。
----------------------------------------------------------------------
$ cat ~/.sleep
#!/bin/bash

. ~/.bashrc

airport-power-off
$ cat ~/bin/airport-power-off
#!/bin/sh

networksetup -setairportpower en0 off
$
----------------------------------------------------------------------

sleepwatcher は、MacPorts で入れるのが簡単です。

port info sleepwatcher
launchctl load -w /Library/LaunchDaemons/org.macports.sleepwatcher.plist

この org.macports.sleepwatcher.plist は、
/opt/local/etc/rc.{sleep,wakeup} を実行します。これらは、それぞれホーム
ディレクトリの ~/.{sleep,wakeup} を実行します。

su - $user -c "$home/.sleep"

上の ~/.sleep は、bash スクリプトで、. ~/.bashrc を明示的に読み込んでい
ます。interactive ではないので、~/.bashrc の PATH の設定が効きません。
(標準の PATH では /usr/sbin にあるプログラムが動かないです。) 1回は、端
末で実行した方がいいですね。

$ /opt/local/etc/rc.sleep

あと、システム全体の
/Library/LaunchDaemons/org.macports.sleepwatcher.plist は使わなくても、
個人で launchctl 用の .plist を作ってもいいのでしょう。

上のスクリプトで、en0 というのが出てきますが、これは無線LANのインタフェー
スです。ifconfig -a だと無線も有線もよくわからないのですが、次のコマン
ドでは無線ということがわかります。

networksetup -listallhardwareports

ここに書いてありました。airport コマンドの scan も面白いですね。

http://blog.mattcrampton.com/post/64144666914/managing-wifi-connections-using-the-mac-osx-terminal

\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 情報工学        \\
0 new messages