当前位置: 首页 > article >正文

ubuntu下怎么设置机器程序开机自启?

在 Ubuntu 中,可以通过多种方法设置程序或脚本在系统启动时自动运行。以下是几种常见方法:

方法 1:使用 crontab

crontab 是一个定时任务管理工具,可以用来设置程序在开机时自动运行。

1. 打开终端,编辑当前用户的 crontab 文件:

crontab -e

2. 在文件末尾添加一行,格式如下:

@reboot /path/to/your/script

例如:

@reboot /home/user/startup.sh

3. 保存并退出。下次系统启动时,脚本会自动运行。

方法 2:使用 systemd 服务

这是设置开机启动的推荐方式,适用于需要更多控制的场景。

1. 创建一个 .service 文件:

sudo nano /etc/systemd/system/myapp.service

2. 在文件中添加以下内容:

[Unit]
Description=My Startup Application
After=network.target  # 等待网络服务启动后执行(可选)

[Service]
ExecStart=/path/to/your/program_or_script
Restart=always         # 程序崩溃后自动重启(可选)

[Install]
WantedBy=multi-user.target

3. 保存文件后,启用服务:

sudo systemctl enable myapp.service

4. 如果需要立即测试,可以启动服务:

sudo systemctl start myapp.service

方法 3:添加到用户启动程序

适用于需要在桌面环境(如 GNOME)下自动运行的应用。

1.打开终端,输入:

gnome-session-properties

2. 在弹出的“启动应用程序首选项”窗口中,点击“添加”。

3. 填写应用程序名称和可执行文件路径。

4. 保存后,下次登录桌面环境时,该应用会自动运行。

方法 4:修改 /etc/rc.local

如果需要兼容旧系统的方式,可以使用 rc.local 文件(现代系统可能默认禁用)。

1. 编辑 /etc/rc.local 文件:

sudo nano /etc/rc.local

2. 在文件中添加要运行的命令:

#!/bin/bash
/path/to/your/script
exit 0

3. 确保文件可执行:

sudo chmod +x /etc/rc.local

方法 5:放置脚本到 /etc/init.d

这是另一个传统方式,但在现代系统中较少使用。

1. 将脚本复制到 /etc/init.d/ 目录:

sudo cp /path/to/your/script /etc/init.d/myscript

2. 赋予可执行权限:

sudo chmod +x /etc/init.d/myscript

3. 添加脚本到系统启动列表:

sudo update-rc.d myscript defaults

注意事项

  • 确保脚本或程序路径正确,并且具有执行权限。
  • 如果脚本依赖网络或其他服务,使用 systemd 的 After 参数确保服务顺序。
  • 测试自动启动效果:重启系统或模拟启动条件。

http://www.kler.cn/a/402836.html

相关文章:

  • Homebrew切换成国内源
  • AR智能眼镜|AR眼镜定制开发|工业AR眼镜方案
  • Flink-Source的使用
  • 云计算面试题之六.运维架构篇
  • MySQL 篇 - Java 连接 MySQL 数据库并实现数据交互
  • OpenCV双目立体视觉重建
  • core 不可变类型 线程安全 record
  • 杨凌职业技术学院信息工程学院“讯方技术HarmonyOS人才训练营”圆满启动!
  • Harmony鸿蒙类似与Android中broadcast广播的api使用及释义
  • stm32下的ADC转换(江科协 HAL版)
  • java arraycopy() 方法 详解
  • (Mysql)SQL语句全解!!初上手JDBC?不知道怎么敲SQL语句?不知道关键字?来看本篇文章!带你领悟近乎全部的SQL语句!
  • 基于 LangChain4j 实现问答机器人
  • 内容补充页(相关公式解释)
  • C++11————线程库
  • Android Jetpack WorkManager 基础
  • Ubuntu VNC Session启动chromium和firefox报错
  • 03 —— Webpack 自动生成 html 文件
  • Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程
  • Vue 3 中 toRaw 的详细讲解
  • 前端:JavaScript (学习笔记)【1】
  • 学习与理解LabVIEW中的格式化写入(Format into String)函数
  • ioDraw Mac客户端安装教程
  • 目录背景缺少vscode右键打开选项
  • 基于xr-frame实现微信小程序的手部、手势识别3D模型叠加和石头剪刀布游戏功能
  • 【蓝桥杯备赛】123(前缀和的复杂应用)