learning_record_doc/ubuntu/Ubuntu20.04 设置开机自启.md
2022-10-21 17:02:22 +08:00

92 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Ubuntu20.04 设置开机自启
========================
> 本文由 [简悦 SimpRead](http://ksria.com/simpread/) 转码, 原文地址 [blog.csdn.net](https://blog.csdn.net/qq_43685040/article/details/111574332)
第一步
---
执行 **ls /lib/systemd/system** 你可以看到有很多启动脚本,其中就有我们需要的 **rc-local.service**
![](assets/20201223103738935.png)
第二步
---
打开 **rc-local.service** 脚本内容,内容如下:
![](assets/20201223103800889.png)
一般正常的启动文件主要分成三部分
* **[Unit]** 段: 启动顺序与依赖关系
* **[Service]** 段: 启动行为, 如何启动,启动类型
* **[Install]** 段: 定义如何安装这个配置文件,即怎样做到开机启动
可以看出,**/etc/rc.local** 的启动顺序是在网络后面,但是显然它少了 **Install** 段,也就没有定义如何做到开机启动,所以显然这样配置是无效的。 因此我们就需要在后面帮他加上 **[Install]** 段:
```shell
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
```
![](assets/20201223103837439.png)
PS添加了 [Install] 内容后,下面两行的 **WantedBy****Alias** 两个英文跟上面的都是绿色的,要是绿色才有用。
一般需要先修改 **rc-local.service** 的权限才可以进行编辑。
```
sudo chmod 777 /lib/systemd/syste,/rc-local.service
```
第三步
---
查看系统中有无 **/etc/rc.local** 这个文件,没有则自己创建一个。
然后把你需要启动脚本写入 **/etc/rc.local** ,我们不妨写一些测试的脚本放在里面,以便验证脚本是否生效.
```shell
#!/bin/sh
echo "看到这行字,说明添加自启动脚本成功。" > /usr/local/test.log
exit 0
```
![](assets/20201223103852538.png)
PS**#!/bin/sh** 这一行一定要加上!一定要加上!
第四步
---
**rc.local** 加上权限
```
sudo chmod +x /etc/rc.local
```
做完这一步,还需要最后一步 前面我们说 **systemd** 默认读取 **/etc/systemd/system** 下的配置文件, 所以还需要在 **/etc/systemd/system** 目录下创建软链接
```shell
ln -s /lib/systemd/system/rc.local.service /etc/systemd/system/
```
![](assets/20201223103909625.png)
第五步
---
重启 **Ubuntu** 后,去 **/usr/local** 下看看有没有生成 **test.log** 这个文件以及这个文件的内容。
![](assets/20201223104001940.png)
第六步
---
如果在 **/etc/rc.local** 中添加的是 **./test.sh** 这种类型的,要在末尾加上 &,如下图, **不然重启 ubuntu 的时候会卡在启动界面进不去系统。**
![](assets/20201223163227878.png)
https://www.cnblogs.com/wtil/p/12808424.html