在 Ubuntu 18.04 中,可以通过多种方式设置脚本(如 `.sh` 文件)开机自启动。以下是几种常见的方法:
### 方法 1:使用 `rc.local`(适用于简单的脚本)
1. **编辑 `/etc/rc.local` 文件**:
- 打开终端,输入以下命令编辑文件:
```bash
sudo nano /etc/rc.local
```
- 在 `exit 0` 之前添加需要执行的脚本命令。例如:
```bash
/path/to/your/script.sh &
```
(`&` 表示在后台运行脚本)2. **赋予 `/etc/rc.local` 可执行权限**:
- 如果文件没有执行权限,运行以下命令:
```bash
sudo chmod +x /etc/rc.local
```3. **重启系统**:
- 重启后,脚本将自动运行。---
### 方法 2:使用 `systemd` 服务(推荐)
1. **创建服务文件**:
- 在 `/etc/systemd/system/` 目录下创建一个新的服务文件。例如:
```bash
sudo nano /etc/systemd/system/myscript.service
```2. **编辑服务文件**:
- 添加以下内容:
```ini
[Unit]
Description=My Custom Script
After=network.target[Service]
ExecStart=/path/to/your/script.sh
Restart=on-failure[Install]
WantedBy=multi-user.target
```
- 替换 `/path/to/your/script.sh` 为你的脚本路径。3. **赋予脚本可执行权限**:
- 确保脚本有执行权限:
```bash
sudo chmod +x /path/to/your/script.sh
```4. **启用服务**:
- 启用服务以使其开机自启动:
```bash
sudo systemctl enable myscript.service
```5. **启动服务**:
- 立即启动服务(无需重启):
```bash
sudo systemctl start myscript.service
```6. **检查服务状态**:
- 确认服务已正常运行:
```bash
sudo systemctl status myscript.service
```---
### 方法 3:使用 `crontab`(适用于用户级脚本)
1. **编辑当前用户的 crontab**:
- 打开终端,输入以下命令:
```bash
crontab -e
```2. **添加开机任务**:
- 在文件末尾添加以下行:
```bash
@reboot /path/to/your/script.sh
```
- 替换 `/path/to/your/script.sh` 为你的脚本路径。3. **保存并退出**:
- 保存文件后,cron 会在每次系统启动时运行脚本。---
### 方法 4:使用桌面环境的启动应用程序(适用于图形界面)
1. **打开“启动应用程序”**:
- 在 Ubuntu 桌面环境中,搜索并打开“启动应用程序”。2. **添加新条目**:
- 点击“添加”按钮,填写以下信息:
- **名称**:自定义名称(如“My Script”)。
- **命令**:脚本路径(如 `/path/to/your/script.sh`)。
- **注释**:可选描述。3. **保存**:
- 保存后,脚本将在用户登录时自动运行。---
### 总结
- **`rc.local`**:简单易用,适合简单的脚本。
- **`systemd`**:功能强大,推荐用于系统级服务。
- **`crontab`**:适合用户级脚本。
- **桌面环境启动应用程序**:适合图形界面下的用户脚本。