【自启动配置】Ubuntu 设置开机自启动脚本

本文介绍了如何在Ubuntu系统中查看和设置开机运行的脚本。首先,通过runlevel命令查看当前运行级别,然后在/etc/init.d/创建自启动脚本并赋予执行权限。最后,进入对应运行级别的rc5.d目录,创建软链接使脚本在启动时自动执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ubuntu 开机运行的脚本和当前操作系统运行的级别有关,OS 的运行级别大概分为七个


目录

1、查看 OS 运行级别

2、创建自启动脚本

3、添加软链接


1、查看 OS 运行级别

输入命令 runlevel 查看当前系统运行级别。当前系统的运行级别为 5

2、创建自启动脚本

在 /etc/init.d/ 目录下创建自启动脚本,当系统启动时,会自动运行这个脚本。假设创建的脚本名字是 gzx-autostart.sh,我们可以在这个脚本里加入开机启动执行的指令

sudo touch gzx-autostart.sh

同时我们服务该脚本执行权限

sudo chmod a+x gzx-autostart.sh

3、添加软链接

我们先进入到 /etc 目录下,该目录下有几个 rcX.d 目录。rc1.d 代表系统运行级别为1时,自动运行该目录下软链接对应的脚本。

当前系统运行级别是 5 ,所以我们要进入 rc5.d 目录,并在该目录下创建一个软链接S99-autostart,链接的文件就是我们上一步创建的脚本文件。

cd /etc/rc5.d
sudo ln -s ../init.d/gzx-autostart.sh S99-autostart
### 设置开机自启动脚本 为了使脚本能够在Ubuntu 20.04系统启动时自动运行,可以通过多种方法实现这一目标。一种常见的方式是利用`Systemd`服务单元文件来定义启动任务。 创建一个新的服务文件位于 `/etc/systemd/system/`目录下,命名为 `myscript.service`: ```bash sudo nano /etc/systemd/system/myscript.service ``` 在该文件内编写如下配置[^1]: ```ini [Unit] Description=My custom script at boot time. [Service] ExecStart=/path/to/script.sh WorkingDirectory=/path/to/ StandardOutput=file:/var/log/mycustomscript.log Restart=always User=username [Install] WantedBy=multi-user.target ``` 上述配置项解释: - **Unit**部分描述了此服务的作用; - **Service**部分指定了要执行的具体命令以及工作路径等参数; - **Install**部分决定了何时激活这个服务,在这里是多用户模式下被触发。 保存并关闭编辑器之后,需要重新加载 systemd 配置以便识别新的服务文件: ```bash sudo systemctl daemon-reload ``` 启用新创建的服务使其随系统一起启动,并立即启动它以测试是否正常运作: ```bash sudo systemctl enable myscript.service sudo systemctl start myscript.service ``` 如果一切顺利的话,现在就可以重启计算机验证脚本能否按预期那样于每次开机会自动被执行了。 对于较为简单的命令或指令集,则可以直接将其加入到用户的crontab中通过 @reboot 来指定它们应该在系统重引导后立刻运行。这同样适用于那些不需要复杂环境准备的任务。 另外需要注意的是,当涉及到图形界面登录会话中的程序自动化时(比如桌面环境中),应当考虑采用其他机制如GNOME Shell扩展或者特定于DE的应用程序设置工具来进行处理而不是依赖传统的init方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值