回答:
自分に合ったより良い方法を見つけました。少なくともクリーンな方法。Ubuntu はUbuntu 15.04、Ubuntu 16.04およびおそらく次のバージョンでもsystemdの新興企業を変更したようです。私は両方のシステムに慣れていないが、これは私のために働いた。
一方、ので、私はこれを掲示していグーグル Ubuntuの16 WOLや他の類似検索を、私はこの記事で数回に出くわしました。これは他の人を助けることができます。
WOLを機能させるには、システムが起動するたびにWOLを再度有効にする必要がありました。これを手動で行うことを避けるために、この目的でsystemdを使用しました。これは私がやったことです:
まず、ファイルを作成します/etc/systemd/system/wol@.service
(@記号を保持します)。これを入れてください:
[Unit]
Description=Wake-on-LAN for %i
Requires=network.target
After=network.target
[Service]
ExecStart=/sbin/ethtool -s %i wol g
Type=oneshot
[Install]
WantedBy=multi-user.target
起動時のインターフェースでこれを有効にし、次のコマンドを実行します(インターフェースでeth3を変更します):
systemctl enable wol@eth3
次のようなものが表示されるはずです。
Created symlink from /etc/systemd/system/multi-user.target.wants/wol@eth3.service to /etc/systemd/system/wol@.service.
有効になっているかどうかを確認するには、次のコマンドを実行し(インターフェースでeth3を変更します)、次のコマンドが返されenabled
ます。
systemctl is-enabled wol@eth3
これをテストするには、再起動して実行します(インターフェースでeth3を変更します):
ethtool eth3
次の行が表示されます。
Wake-on: g
ソース:
新興企業:
Upstartは、/ sbin / initデーモンのイベントベースの置換であり、ブート中のタスクとサービスの開始を処理し、シャットダウン中にそれらを停止し、システムの実行中にそれらを監視します。
- 成り上がり-イベントベースのinitデーモン
systemd:
systemdは、Linuxシステムの基本的なビルディングブロックのスイートです。PID 1として実行され、システムの残りを起動するシステムおよびサービスマネージャーを提供します。(...)
- systemd
Ubuntu 16.04では、TLP電源管理によってWOLが無効WOL_DISABLE=N
に/etc/default/tlp
ならないように設定されています。
http://linrunner.de/en/tlp/docs/tlp-configuration.html
シャットダウン中にネットワークカードの電源が切れないようNETDOWN=no
に/etc/default/halt
するために追加します
/etc/network/interfaces
静的ネットワーク構成が使用されている場合、Wake on LANを有効にします。
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1
up ethtool -s eth0 wol g
BIOSでLANのウェイクを有効にし、BIOSセットアップに入り、「PCIイベントでウェイクアップ」、「LANでウェイクアップ」などと呼ばれるものを探します。有効になるように変更します。設定を保存して再起動します。
https://help.ubuntu.com/community/WakeOnLan
警告一部のマザーボード/ネットワークコントローラーは、コールドブートからのWOLをサポートしていません(システムへの電源が物理的にオフになり、再びオンになるS5状態)。その場合、少なくとも1つの電源サイクル(電源投入、シャットダウン)を実行する必要があります。問題を軽減するために、ACが復元されたときに電源を入れ、その後Ubuntu内でシャットダウンをスケジュールするようにBIOSを構成できます。詳細については、マザーボードのマニュアルを参照してください。
WOLが機能するためには、電源オフ時にイーサネットインターフェイスがシステムによって適切にシャットダウンされていることを確認してください。
以下を試してください:
呼ばれるbashスクリプト作成wol_poweroff.shに/etc/rc6.d/ディレクトリを:
sudo nano /etc/rc6.d/wol_poweroff.sh
このコードを入れてください:
#!/bin/bash
ifconfig eth0 down
poweroff
/etc/rc0.dディレクトリにコピーします(したがって、haltでも動作します)。
sudo cp /etc/rc6.d/wol_poweroff.sh /etc/rc0.d/wol_poweroff.sh
両方を実行可能にします:
sudo chmod 755 /etc/rc6.d/wol_poweroff.sh
sudo chmod 755 /etc/rc0.d/wol_poweroff.sh
今では、とあなたのマシンの電源を切ることで動作するかどうかを確認するためのテストsudo shutdown now
やsudo poweroff
、それにマジックパケットを送信するためにWOLツールを使用して。
それは私のために働いた唯一のものでした。launchpad.netのバグレポートでこれらの手順を見つけました。
著者のロビー・ウィリアムソンによると、これは次の理由で機能します。
WOLを機能させるには、システムのシャットダウンの一環として、イーサネットインターフェイスを適切に停止する必要があります。これは、実行レベルrc0およびrc6の一部として実行する必要があります。Linuxには通常、7つの異なる実行レベル(または動作モード)があることに注意してください。
rc0.d-システム停止
rc1.d-シングルユーザーモード
rc2.d-ネットワーキングを使用したシングルユーザーモード
rc3.d-マルチユーザーモード-テキストモードで起動
rc4.d-まだ定義されていません
rc5.d-マルチユーザーモード-X Windowsで起動
rc6.d-シャットダウンと再起動
ソース:https : //bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/981461
NetworkManagerを使用する場合、次の方法でWOLを有効にできますnmcli
。
nmcli connection show
目的のデバイスの「802-3-ehternet」タイプの接続の名前を覚えておいてください。名前が「有線接続1」であるとします。次に、適切に変更します。
nmcli connection modify "Wired connection 1" 802-3-ethernet.wake-on-lan magic
MACアドレスを取得するには:
nmcli connection show "Wired connection 1" | grep 802-3-ethernet.mac-address
これで、wakeonlan 1a:2b:3c:4d:5e:6f
コマンドによって同じLAN上の別のマシンからオフにしたりオンにしたりできます。ここで1a:2b:3c:4d:5e:6f
、前のステップのLANカードのMACアドレスです。
これはUbuntu 18.04(ヘッドレス/最小インストール)の下でも私を少し噛みました。残念ながら、すでにここにリストされている答えは、競合状態を作成したりsystemdのような人と戦ったりするときに信頼できるソリューションを提供しない場合がありますが、 netplanおよびudev。
私も最初にこのアプローチを試しましたが、うまくいくようでした。システムBIOSがスケジュールされたACオンオプションを提供しないため、バックアップを実行するためにWakeOnLanを介して毎晩ブートするようにシステムをスケジュールしています。
それは数日間動作し、目を覚ますことを拒否し、手動で電源を入れ、ethtoolを実行するとWoLが無効になっていることが明らかになりました:
Wake-on: d
だから私は他の何かがそれをオフに戻さなければならないと考え、システムドが私がここから始めようと決めたシステムの一部を引き継いで、過去数年間にそのような問題を抱えていたことを見ました。
WakeOnLan = .. ..デフォルトはオフです。
https://www.freedesktop.org/software/systemd/man/systemd.link.html
オンラインの例では、次の行に沿って何かを示しています。
/etc/systemd/network/50-wired.link
[Match]
MACAddress=<MAC ADDRESS>
[Link]
WakeOnLan=magic
これはまだ機能していませんでした。それから私はこれに出くわしました:
udevadm test-builtin net_setup_link /etc/systemd/network/50-wired.link
その結果:
Load module index
Parsed configuration file /lib/systemd/network/99-default.link
Parsed configuration file /etc/systemd/network/50-wired.link
Parsed configuration file /run/systemd/network/10-netplan-eno1.link
/run/systemd/network/10-netplan-eno1.linkには何がありますか?
[Match]
MACAddress=<MAC ADDRESS>
[Link]
Name=eno1
WakeOnLan=off
解決策:
既にsystemd .linkファイルを持っているので、単純にファイル名を00-wired.linkに変更し、再起動して、今ではethtool eno1がレポートします。
Wake-on: g
WoLを有効にすることのみを目的とした追加サービスはありません。