なんとなく

誰得感満載な記事が多いかも。Mono関係とLinuxのサーバ関係、レビューとか。

Raspberry Piから WakeOnLan対応マシンの電源をオンにする方法

はじめに

Raspberry Piからxfreerdpを使って、Windows8.1のマシンにリモートデスクトップ接続している。(Raspberry PiをThin Clientとして使おうと思って(xfreerdpのコンパイル) - なんとなく)
ただ、時折PCの電源が入っていない場合がある。そういう時にイチイチ電源ボタンを押しに行くのは面倒なので、Raspberry Piからマジックパケットを投げることによってWakeOnLanできないか調べてみた。備忘としてまとめておく。

Raspberry Pi Type B 512MB

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

とコマンドを叩き、該当するインタフェースの物理アドレスの項目を範囲選択して、コピーすればよい。

関係ないけど

Windows8.1でリモートデスクトップ接続時に即時にシャットダウンしたいときは、コマンドプロンプトを開いて

shutdown /s /t 0