Ubuntu系统的电脑设置WOL开机

Windows系统电脑,主板设置WakeOnLan(WOL)打开Enable以后就自动生效了。而相同的电脑在Ubuntu下则无法WOL唤醒,很费解。

首先查看网卡名称(还有很多命令可以查,ifconfig等等等等不一一列举)

ip a

例如我这里网卡名是enp2s0,那么进一步查看网卡信息。

sudo ethtool enp2s0

找到Wake-on这一项,后面的字字母是d或者g。d就是禁用(未开启),g则是开启。我这里是d。

既然没打开,那我们就先打开它:

sudo ethtool -s enp2s0 wol g

再次sudo ethtool enp2s0查看,Wake-on已经变成g了。

关机测试,WOL开机成功。

然而,再次关机后,发现,又没有反应了。手动开机,再次sudo ethtool enp2s0查看网卡信息。Wake-on又变成d了。

也就是说要每次开机都执行一次开启命令,不然就又关了。但总不能让我手动每次输入吧,就算是复制粘贴也的记得弄才行呀,忘了咋办。真麻烦。

要不写个脚本如何。算了,就一句命令,还写什么脚本,直接写进service吧

sudo gedit /etc/systemd/system/wakeonlan.service

写入下面内容,将其中enp2s0网卡名称替换为您实际查到的网卡名称。

[Unit]
Description=Enable Wake-on-LAN
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/sbin/ethtool -s enp2s0 wol g

[Install]
WantedBy=multi-user.target

然后允许开机自启动

sudo systemctl enable wakeonlan.service

搞定。

关机前手动运行一次。或者直接重启电脑让它自动运行

sudo systemctl start wakeonlan.service

上一篇 PHPCMSv9网站搬家及更换域名
下一篇 Linux下将光盘储存为iso镜像文件