介绍
我认为您不应该按照George的链接中的建议创建新服务。本rc-local.service
已存在于systemd和服务文件表明rc.local
,如果存在且是可执行的,被自动拖入multi-user.target
。因此无需重新创建或强制进行另一种方式的处理systemd-rc-local-generator
。
一种解决方案
快速解决方法(我不知道这是否是规范的方法):
在终端中执行以下操作:
printf '%s\n' '#!/bin/bash' 'exit 0' | sudo tee -a /etc/rc.local
sudo chmod +x /etc/rc.local
sudo reboot
之后,rc.local
系统启动时将调用。插入您想要的。
背景
如果在终端机中进行:
sudo systemctl edit --full rc-local
您可以看到标题注释包含以下行:
# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
这表明,在此系统中,如果存在一个名为/etc/rc.local
的可执行文件,则它将被自动拉入multi-user.target。因此,您只需创建相应文件(sudo touch...
)并使其可执行(sudo chmod +x ...
)。