Ubuntu18.04设置开机自启动程序

ops/2025/2/22 3:18:41/

在 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`**:适合用户级脚本。
- **桌面环境启动应用程序**:适合图形界面下的用户脚本。


http://www.ppmy.cn/ops/160407.html

相关文章

DeepSeek在linux下的安装部署与应用测试

结合上一篇文章,本篇文章主要讲述在Redhat linux环境下如何部署和使用DeepSeek大模型,主要包括ollama的安装配置、大模型的加载和应用测试。关于Open WebUI在docker的安装部署,Open WebUI官网也提供了完整的docker部署说明,大家可…

python烟花程序代码2.0

效果展示 烟花效果的关键点: 烟花发射:从地面发射出烟花并上升。 爆炸效果:烟花到达最高点后爆炸,产生不同颜色的光点。 颜色变化:爆炸产生的光点有不同的颜色和透明度变化。 粒子扩散:爆炸后的粒子向四面八方扩散,并且随着时间的推移逐渐消失。 我将首先给出一个基本的…

Docker 多阶段构建:优化镜像大小

在 Docker 中,构建镜像时,我们通常会将应用及其所有依赖打包到镜像中。然而,随着时间的推移,镜像的大小会随着依赖项和构建工具的增加而变得越来越大,这不仅增加了存储成本,还会降低容器启动速度。多阶段构…

nlp|微调大语言模型初探索(3),qlora微调deepseek记录

前言 上篇文章记录了使用lora微调llama-1b,微调成功,但是微调llama-8b显存爆炸,这次尝试使用qlora来尝试微调参数体量更大的大语言模型,看看64G显存的极限在哪里。 1.Why QLora? QLoRA 在模型加载阶段通过 4-bit 量化大幅减少了模型权重的显存占用。QLoRA 通过 反量化到 …

14、《SpringBoot+MyBatis集成(2)——进阶配置XML与注解的灵活运用》

SpringBootMyBatis集成进阶配置 - XML与注解的灵活运用 前言 在Spring Boot与MyBatis的集成开发中,开发者常面临XML映射文件与注解两种SQL定义方式的选择,以及复杂场景下的动态SQL、多数据源等进阶需求。本文将从核心配置的灵活性出发,对比X…

一周学会Flask3 Python Web开发-response响应格式

锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 在HTTP响应中,数据可以通过多种格式传输。大多数情况下,我们会使用HTML格式,这也是Flask中…

< OS 有关 > Ubuntu 24 SSH 服务器更换端口 in jp/us VPSs

原因: 两台 VPS 的 ssh 端口一直被密码重试, us 这台已经封了 632, jp 这台两周前清过一次 sqlite3 数据,现在赞到 1008 Fail2Ban 是使用 sqlite3 来记录,数据量大后,硬盘的 I/O 会飙升,我有写过一个 app…

IntelliJ IDEA 插件推荐篇 - 2025年

IntelliJ IDEA 开发插件推荐 IntelliJ IDEA 是许多开发者的首选集成开发环境(IDE),其强大的功能和灵活的插件生态系统使其在 Java、Kotlin 等语言开发中备受青睐。通过安装合适的插件,你可以进一步提升开发效率、优化工作流程并增…