WOL アップスタート スクリプトは再起動時に実行されません 12.04.4

WOL アップスタート スクリプトは再起動時に実行されません 12.04.4

私は WOL を有効にしようとしており、次の回答に従いました:Wake-on-LAN を永続的に有効にするにはどうすればよいですか?

リンクに従って、再起動時に WOL を有効にする起動ジョブを作成しました。スクリプトは次のとおりです。

start on started network

script
for interface in $(cut -d: -f1 /proc/net/dev | tail -n +3); do
    logger -t 'wakeonlan init script' enabling wake on lan for $interface
    ethtool -s $interface wol g
done
end script

スクリプトに wakeonlan.conf という名前を付け、/etc/init/ に配置します。次の方法でジョブを開始できます。

   sudo service wakeonlan start

正常に起動し、eth0 で WOL が有効になります。

ただし、再起動すると、upstart ジョブの開始に失敗します。wakeonlan.log には次のように表示されます。

Cannot get current wake-on-lan settings: Operation not supported
not setting wol

次に何をすればいいのか分かりません。

答え1

まず、Ubuntu 12.04 には「network」という名前のジョブはありません。started networking代わりに を使用する必要があります。

次に、これをインスタンス ジョブにすると役立つかもしれません。これを試してください。

start on net-device-up

instance $IFACE

task

pre-start exec logger -t 'wakeonlan init script' enabling wake on lan for $IFACE

exec ethtool -s $IFACE wol g

おそらく、/proc/net/dev の 1 つのインターフェースが wol をサポートしていないため、ジョブが残りのインターフェースで続行されないのだと思います。上記のジョブは、各インターフェースの wol を個別にオンにするため、1 つの失敗が他のインターフェースに影響することはありません。さらに、このジョブは、インターフェースがブート後に起動した場合 (ホットプラグ) に機能します。

関連情報