如何永久启用局域网唤醒?

dje*_*kyb 13 networking wakeonlan

我想永远为我的网卡启用网络唤醒。该社区指南建议增加相关的命令/etc/network/interfaces。在过去编辑 Ubuntu conf 文件的经验中,极有可能在每次启动时重新编写网络接口文件,如果不是每次 apt 升级的话。确保每次启动都启用网络唤醒的最佳方法是什么?

dje*_*kyb 12

配置网卡后运行的引导脚本应该可以解决问题。Ubuntu 使用暴发户。阅读新贵工作,ethtool的,写一个暴发户脚本,搜索interwebs一个更好的解决方案后,我想出了这个jevinskie(你会希望把这个在一个文件中/etc/init):

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
Run Code Online (Sandbox Code Playgroud)
  • 在 nics 初始化时启动
  • 从 /proc/net/dev 获取 nic 名称
  • 将操作记录到系统日志
  • 对找到的所有网卡进行操作
  • 需要 ethtool,因此请确保先安装它:

    sudo apt-get install ethtool
    
    Run Code Online (Sandbox Code Playgroud)

如果你只想给一个 nic 灌输觉醒的力量,这样的事情更合适:

start on started network

script
    interface=eth0
    logger -t 'wakeonlan init script' enabling wake on lan for $interface
    ethtool -s $interface wol g
end script
Run Code Online (Sandbox Code Playgroud)

  • 我一直认为局域网唤醒是 BIOS 功能。 (2认同)