WOL :Ubuntu 22.04 Wake on Lan
ehotool でWake on Lanの状態を確認するのですが、確認にはイーサネットアダプタのデバイス名が必要になります。デバイス名がわからない場合は以下のコマンドで確認することができます。
$ ip link
デバイス名を確認したら、以下のコマンドでネットワークデバイスの状態を確認します。
$ sudo ethtool <デバイス名> | grep -i wake-on
Supports Wake-on: pumbg
Wake-on: d
上記のように「Wake-on: d」の場合は、Wake on Lanが無効化されています。有効化されていれば「Wake-on: g」となります。
Wake on Lanの有効化
Wake on Lanを有効化するには以下のコマンドを使用します。
$ sudo ehitool -s <デバイス名> wol g
このコマンドによる設定は、パソコンを再起動すると無効になってしまいます。
1度だけWake on Lanでパソコンを起動するにはこれでいいのですが、通常は常にWake on Lanでパソコンを起動できる状態にしておきたいと思います。
その場合は、NetworkManagerの制御により永続的に有効化させることができます。
まず、有線接続の名前を確認します。
$ nmcli con show
NAME UUID TYPE DEVICE
<有線接続名> xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ethernet <デバイス名>
現在の設定を確認します。
$ nmcli c show "<有線接続名>" | grep -i wake-on-lan
802-3-ethernet.wake-on-lan: default
802-3-ethernet.wake-on-lan-password: --
「802-3-ethernet.wake-on-lan: default」であればWake on Lanは無効化されています。有効化されている場合は「802-3-ethernet.wake-on-lan: magic」となります。
Wake on Lanを永続的に有効化します。
$ nmcli c modify "<有線接続名>" 802-3-ethernet.wake-on-lan magic
設定を反映させるために以下のコマンドを使用します。
$ nmcli c up <有線接続名>
これで設定が反映されました。
設定を確認します。
$ sudo ethtool <デバイス名> | grep -i wake-on
Supports Wake-on: pumbg
Wake-on: g
「Wake-on: g」で有効化されています。
こちらも確認。
$ nmcli c show "<有線接続名>" | grep -i wake-on-lan
802-3-ethernet.wake-on-lan: magic
802-3-ethernet.wake-on-lan-password: --
「802-3-ethernet.wake-on-lan: magic」なのでWake on Lanが有効化されています。
Wake on Lanによる起動の確認
以上で設定は完了してますが、一度 Wake on Lan により起動できることを確認しておくことをおすすめします。
MACアドレスの確認
Wake on Lan を実行するには、起動されるパソコンのMACアドレスが必要になります。MACアドレスは以下のコマンドで確認することができます。
$ ip addr
link/etherの「XX:XX:XX:XX:XX:XX」がMACアドレスです。忘れないようにメモなどに控えておくとよいと思います。
Wake on Lanでリモート起動
起動するパソコンのWake on Lan用のソフトウェアを使用します。CUIで操作するものや、GUIに対応しグラフィカルに操作できるものなど、さまざまなソフトウェアがありますので、好みのものを使用して下さい。ここでは、Linux用の wakeonlan を使用したいと思います。
以下のコマンドで wakeonlan パッケージをインストールします。
$ sudo apt install wakeonlan
wakeonlan は引数に起動されるパソコンのMACアドレスを指定することで使用します。先程確認したMACアドレスを使います。
$ wakeonlan XX:XX:XX:XX:XX:XX
これで起動されるパソコンの電源がオンになれば成功です。1回で起動されない場合は、何度かリトライして下さい。
それでも起動されない場合は、起動されるパソコンの設定や起動するソフトウェアの設定を確認して下さい。