OS X からWake On LANでPCを遠隔起動するには

有線LANでつながっているPCを遠隔から起動するWake On LAN(WOL)という機能があります。CentOSではether-wake、Ubuntuではetherwakeを使うと良いのですが、OS X からWake On LANでPCを遠隔起動することもできます。

対象とするPCのマシンにあるネットワークカードのMACアドレスが 00:01:02:03:04:05 の場合、次のスクリプトを作成して、wakeup.py という名前で保存します。Pythonプログラムなので、Linuxでも動くかもしれませんが、そちらは動作確認をしていません。ブロードキャストするというのがポイントです。

#!/usr/bin/env python
import socket
s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.sendto('\xff'*6+'\x00\x01\x02\x03\x04\x05'*16, ('255.255.255.255', 9))

ターミナルアプリを起動して実行権を付与します。

$ chmod u+x wakeup.py

実行します。これで、PCが起動するはずです。

$ ./wakeup.py

デスクトップPCの電源スイッチは意外と故障率が高いので、デスクトップPCを購入したら、WOLの設定をして、基本的にWOLを使って起動をするようにしています。ノートPCの方はシャットダウンをしないので、常に1台はマシンが起動している(スリープしているものも含む)状態だからできることです。WOLを導入してから、電源スイッチまわりでトラブルになったことはありません。

Pythonを学ぶには次の参考書があります。

同じタグの記事: OS X
同じタグの記事: Python
同じタグの記事: Wake on LAN
同じタグの記事: WOL
同じカテゴリの記事: Mac