はじめに
Raspberry Piからxfreerdpを使って、Windows8.1のマシンにリモートデスクトップ接続している。(Raspberry PiをThin Clientとして使おうと思って(xfreerdpのコンパイル) - なんとなく)
ただ、時折PCの電源が入っていない場合がある。そういう時にイチイチ電源ボタンを押しに行くのは面倒なので、Raspberry Piからマジックパケットを投げることによってWakeOnLanできないか調べてみた。備忘としてまとめておく。
Windows8.1のマシンのBIOSを設定しておく
WakeOnLanを可能にするには、WakeOnLanしたいマシンのBIOS設定で、WakeOnLan可能にしておく必要がある。
各BIOSで表記はマチマチだが、電源関連の設定でWOLという項目を有効にするかResume By Lanという項目を有効にする。
マジックパケットを投げるスクリプト
マジックパケットを投げるコマンドを叩けば、それに反応してWindows8.1のマシンが起動することを想定している。そこで、マジックパケットを投げるスクリプトを探してみた。
http://adlib.rsch.tuis.ac.jp/~akira/unix/WakeOnLan.txt
が見つかり、これを使用させてもらうことにした。
perlのパスと引数が違うようで、そのままでは動かなかったので、一行目を
#!/usr/bin/perl
に変更した。
使い方は、
./wakeup.pl [network boradcast address] [MAC address]
としてあげれば、問題なく動いた。
例
./wakeup.pl 192.168.1.255 00BABABABABA
ちなみにMACアドレスは、Windowsの場合はコマンドプロンプトを開いて
ipconfig /all
とコマンドを叩き、該当するインタフェースの物理アドレスの項目を範囲選択して、コピーすればよい。