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

ubuntu开机自启,其他方式

在 Ubuntu 22.04 中,如果不使用 .service 文件,仍然有其他方法可以让某个 .sh 文件随着系统启动而自动运行。以下是几种替代方法:

方法一:使用 crontab@reboot 选项

crontab 是 Linux 中用于设置周期性被执行的任务的工具。通过编辑 crontab 文件,并添加 @reboot 选项,可以在系统启动时执行指定的脚本。

  1. 打开 crontab 编辑器:

    crontab -e
    
  2. crontab 文件中添加以下行(将 /path/to/your/script.sh 替换为你的脚本路径):

    @reboot /path/to/your/script.sh
    
  3. 保存并退出编辑器。系统将在下次启动时自动运行指定的脚本。

方法二:编辑 /etc/rc.local 文件(需确保该文件可执行)

在一些 Linux 发行版中,/etc/rc.local 文件会在系统启动时自动执行。你可以在这个文件中添加你的脚本路径。但请注意,Ubuntu 22.04 默认可能没有启用 /etc/rc.local 文件。

  1. 首先,确保 /etc/rc.local 文件存在并具有可执行权限。如果不存在,你可以创建它:

    sudo touch /etc/rc.local
    sudo chmod +x /etc/rc.local
    
  2. 编辑 /etc/rc.local 文件,在文件末尾添加你的脚本路径(确保脚本以 exit 0 结束):

    sudo nano /etc/rc.local
    

    在文件中添加:

    /path/to/your/script.sh
    exit 0
    
  3. 保存并退出编辑器。

注意:在某些 Ubuntu 22.04 安装中,/etc/rc.local 可能默认不存在,或者即使存在也可能不会被系统执行。因此,这种方法可能不如使用 systemd 服务或 crontab 可靠。如果你选择使用这种方法,请确保你的 Ubuntu 22.04 环境支持并启用了 /etc/rc.local

方法三:将脚本添加到启动应用程序(适用于桌面环境)

如果你的 Ubuntu 22.04 系统运行的是 GNOME 或其他桌面环境,你可以将脚本添加到启动应用程序中。

  1. 打开“启动应用程序”首选项(可以通过在“活动”搜索栏中搜索“启动应用程序”来找到)。

  2. 点击“添加”按钮,创建一个新的启动项。

  3. 在“名称”字段中输入一个描述性的名称。

  4. 在“命令”字段中输入你的脚本路径(例如 /path/to/your/script.sh)。

  5. (可选)在“注释”字段中添加一些描述性文本。

  6. 点击“保存”按钮。

现在,每当用户登录到桌面环境时,该脚本都会自动运行。但请注意,这种方法仅适用于桌面环境,并且需要用户登录才能触发。

综上所述,虽然存在不使用 .service 文件的方法来实现系统启动时自动运行脚本,但这些方法可能不如使用 systemd 服务那样灵活和可靠。因此,在大多数情况下,建议使用 systemd 服务来管理系统启动时的脚本和任务。


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

相关文章:

  • Lianwei 安全周报|2025.1.13
  • 【Git版本控制器--1】Git的基本操作--本地仓库
  • Python在DevOps中的应用:自动化CI/CD管道的实现
  • docker安装mysql 5.7
  • 【leetcode 13】哈希表 242.有效的字母异位词
  • 业务幂等性技术架构体系之消息幂等深入剖析
  • 二、学习SpringMVC
  • 微软徽标认证WHQL
  • thinkphp6 + redis实现大数据导出excel超时或内存溢出问题解决方案
  • Nvidia Blackwell架构深度剖析:深入了解RTX 50系列GPU的升级
  • leetcode118.杨辉三角
  • C++实现设计模式---外观模式 (Facade)
  • RK3399开发板Linux实时性改造
  • STM32+W5500+以太网应用开发+003_TCP服务器添加OLED(u8g2)显示状态
  • stm32步进电机曲线控制程序
  • 【2025 Rust学习 --- 18 IO操作和网络】
  • 基于unity的多人家装应用的设计与实现
  • 【Python】-- 趣味代码 - 发牌游戏
  • 【Web】Web API 简介
  • Portainer CE本地化部署与远程可视化管理Docker容器实战指南
  • [Qt] 系统相关_1 | 常见事件 | 事件分发器 | 过滤器
  • 【Apache Paimon】-- 源码解读之 PaimonSparkSessionExtensions
  • 高阶数据结构之跳表
  • 【NLP高频面题 - 高效微调篇】LoRA微调时有哪些可配置的参数?
  • vscode——如何让标点总是成对出现
  • 启航数据结构算法之雅舟,悠游C++秘境——单链表之美妙构筑