Ubuntu20.04 设置开机自启
1. 查看系统中的自动启动脚本
ls /lib/systemd/system
可以看到有 rc-local.service 这个文件
2.修改 rc-local.service 文件的权限
sudo chmod 777 /lib/systemd/system/rc-local.service
3. 修改 rc-local.service 文件
- 打开 rc-local.service,可以看到有以下内容:
# SPDX-License-Identifier: LGPL-2.1+
#
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
[Unit]
Description=/etc/rc.local Compatibility
Documentation=man:systemd-rc-local-generator(8)
ConditionFileIsExecutable=/etc/rc.local
After=network.target
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no
- 增加以下内容:
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
- 保存,退出。
4. 修改 /etc/rc.local 文件
- 查看系统中有无 /etc/rc.local 这个文件,没有则自己创建一个。
- 写入以下内容(清空文件中原有所有内容):
#!/bin/sh
echo "看到这行字,说明添加自启动脚本成功。" > /usr/local/test.log
exit 0
- 赋予权限
sudo chmod +x /etc/rc.local
5. 创建软链接
ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/
6. 重启Ubuntu后,去 /usr/local 下看看有没有生成test.log这个文件以及这个文件的内容。
cat /usr/local/test.log
7. 其他说明
- 如果在 /etc/rc.local 中添加的是 ./test.sh 这种类型的,要在末尾加上&,不然重启ubuntu的时候会卡在启动界面进不去系统。
8. 参考
- https://blog.youkuaiyun.com/qq_43685040/article/details/111574332