Ubuntu 24.04 网络唤醒

这个设置在 UI 上找不到,需要通过命令行设置开启,需要 ethtool 工具。首先需要确定网络接口(网卡)的名称,比如:enp3s0。

sudo ethtool enp3s0 | grep Wake

结果为:

Supports Wake-on: pumbg
Wake-on: d

使用 sudo ethtool -s enp3s0 wol g 设置 Wake-on 为 g 即可开启。

但是,这个设置并不持久保存,每次开启需要重新设置,我使用一个服务来做这件事。在 /etc/systemd/system 下创建一个 [email protected] 的文件:

[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

运行 sudo systemctl daemon-reload , 再激活这个服务 sudo systemctl enable [email protected], 它会创建一个 [email protected] 的链接:

Created symlink /etc/systemd/system/multi-user.target.wants/[email protected] → /etc/systemd/system/[email protected].

这是个每次开机只运行一次的服务,可以使用 sudo systemctl start wol@enp3s0 手动运行。