Linuxのインストールや設定、アプリの紹介など。

インストール・設定おすすめアプリトラブル対応

Wake On Lan

Wake On Lan(WOL)は、PCの電源ボタンを押さなくてもLAN経由で別の端末から電源ONする機能です。
Androidの様なモバイル機器にもクライアントアプリは多数存在しますので、モバイル機器をPC電源を入れるためのリモコンにしたりできて便利です。

機能を利用するためには、PCのBIOS設定でWOLを有効にしなければなりません。通常初期状態で無効です。
"Wake On Lan"や"PCI Devices Power ON"的な項目です。
メーカー製PCの場合はBIOSで設定できる項目が少なく機能を有効にできない機種もあるかもしれません。

BIOSで機能を有効にした上でLinux上でも有効にする必要がありますが、ethtoolを利用します。無い場合はインストール。
root権限で、
ethtool enp4s0 | grep Wake-on
すると、
Supports Wake-on: pg
Wake-on: d
の様に表示される。
1行目がデバイスのWake On Lanサポートで、2行目はdなら無効。この時点で2行目がgなら何も設定する必要はありません。
enp4s0は自分の環境のネットワークインターフェイス。最近のLinuxはudevで名前が変わるので、インターフェイス名はeth0ではない。
インターフェイス名はnetctlのプロファイル等で確認できます。

ethtool -s enp4s0 wol g
で有効にでき、再度、
ethtool enp4s0 | grep Wake-on
で状態を確認すると、
Supports Wake-on: pg
Wake-on: g
の様にgに変化します。
これで有効なので、電源落とすとWake On Lanできるが、これはネットワークの起動時に初期化されるので次回限り。
つまり、永続的に有効にするには、ネットワーク起動後に何らかの方法で自動的に毎回ethtoolコマンドを使い有効にします。

ネットワーク起動後に何らかの方法で自動的にethtoolコマンドを使えば永続的に有効になりますが、
公式リポジトリではなくAURとなりますが、wol-systemd パッケージを利用するのが簡単そうです。
インストールして、
systemctl enable wol@enp4s0
で毎回有効になります。

ネットワーク接続にnetctlを使用している場合はプロファイルを編集することで永続的に有効にすることができます。
netctlのプロファイルはArch Linuxの場合は/etc/netctl以下にあり、
手元の環境では/etc/netctl/ethernet-dhcpです。
nano /etc/netctl/ethernet-dhcp
で編集して、
ExecUpPost='/usr/bin/ethtool -s enp4s0 wol g'
末尾に1行追加。
これで次回以降のネットワーク起動時にethtoolコマンドが利用されるため永続的に有効になります。
[編集]   [AD]
rentafree.net