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

【ubuntu自启shell脚本】——在ubuntu中如何使用系统自带的启动应用程序设置开机自启自己的本地shell脚本

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、设置开机自启shell脚本
    • 1.使用 gnome-session-properties
    • 2.测试的shell例程代码
  • 总结


前言

在Ubuntu系统中设置开机自启脚本是一种重要的自动化方法。开机自启脚本的主要作用是在系统启动时自动执行特定的任务或应用,确保这些关键任务无需人工干预即可在系统启动后立即运行。这对于服务器环境或需要持续运行的应用场景尤为重要。
开机自启脚本可以用于启动各种服务和应用,例如数据库服务、应用服务器、监控工具、备份脚本、数据同步任务等。通过这种方式,可以确保系统在重启后,关键服务能够自动恢复,减少人为操作的错误并提高工作效率。这对于确保系统的稳定性和可用性具有重要意义。
在工程实践中,开机自启脚本对持续集成和持续部署(CI/CD)过程有着显著的促进作用。在CI/CD环境中,代码和配置的变更需要快速生效。
总之,在Ubuntu系统中设置开机自启脚本不仅能够提高系统的自动化水平,还能显著提升系统的可靠性和效率,确保关键任务和服务能够持续、稳定地运行,对于工程实践中的高效运维和开发具有重要意义。

一、设置开机自启shell脚本

1.使用 gnome-session-properties

(1) 这是 Ubuntu 自带的命令,可以在用户登录时自动执行某个程序
在终端输入:

 gnome-session-properties 

调出的中终端窗口如下所示:

**差个图**

(2) 添加一个新的启动程序
选中一个已经编写好的脚本,添加即可
具体的步骤如下:
点击添加 —— 编辑名字 —— 浏览 —— 点击添加,如下图所示:

**插步骤图**

然后,勾选刚刚添加的自启程序

在这里插入图片描述

最后,重新开机即可看到脚本指令自动执行

2.测试的shell例程代码

创建一个.sh脚本文件,将下面内容复制进去

#! /bin/bash
echo "开启lidar中........."
sleep 1s
cd /home/chen/
gnome-terminal -x bash -c "xxxxxxx;xxxxxxxxxxx;exrc bash"  //这里对应自己要开启的指令
sleep 2s
echo "雷达开启完成!!!"

保存上述的文件,重新启动ubuntu,即可看到自动弹出终端,并且终端中有打印如下信息:

开启lidar中…
雷达开启完成!!!

注意:
由于这个自启脚本是普通用户设置的,所以无法修改系统级的文件(需要 root 权限)
这种方法只能设置当前用户的自启脚本,即在当前用户登录后才会执行
参考:

https://blog.csdn.net/ytusdc/article/details/127042924?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522172007757516800225564620%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=172007757516800225564620&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-2-127042924-null-null.142v100pc_search_result_base2&utm_term=%E5%9C%A8ubuntu%E4%B8%AD%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E7%B3%BB%E7%BB%9F%E8%87%AA%E5%B8%A6%E7%9A%84%E5%90%AF%E5%8A%A8%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E8%AE%BE%E7%BD%AE%E5%BC%80%E6%9C%BA%E8%87%AA%E5%90%AF%E8%87%AA%E5%B7%B1%E7%9A%84%E6%9C%AC%E5%9C%B0shell%E8%84%9A%E6%9C%AC&spm=1018.2226.3001.4187

总结

以上就是在ubuntu使用记录中设置开机自启本地shell脚本的全部教程,有任何疑问,可以评论区留言交流!!!

相关文章:

  • (笔记)M1使用hombrew安装qemu
  • Linux应用开发-第三章Linux的目录IO
  • 【Android】构建 Android Automotive OS:适合初学者的指南
  • 一文带你入门机器学习聚类算法
  • Owl 中的 Props 概述
  • 20240705 每日AI必读资讯
  • # windows 安装 mysql 显示 no packages found 解决方法
  • 使用 pyecharts 渲染成图片程序报错: echarts is not defined问题处理
  • SQL面试题练习 —— 求连续段的起始位置和结束位置
  • 51单片机第18步_将TIM0用作13位定时器
  • claude3.5写作——《基于灰色预测的中国人口数量预测》
  • 分页联合查询实现方法(Java)
  • 数据库表导出到excel
  • 数据库主从复制
  • 第5章:软件工程
  • 10个最佳ES6特性 ES7与ES8的特性
  • DataBase in Android
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • js中的正则表达式入门
  • Lucene解析 - 基本概念
  • npx命令介绍
  • Python连接Oracle
  • Python实现BT种子转化为磁力链接【实战】
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • session共享问题解决方案
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • uni-app项目数字滚动
  • vagrant 添加本地 box 安装 laravel homestead
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 基于遗传算法的优化问题求解
  • 坑!为什么View.startAnimation不起作用?
  • 离散点最小(凸)包围边界查找
  • 温故知新之javascript面向对象
  • 智能网联汽车信息安全
  • ​queue --- 一个同步的队列类​
  • $L^p$ 调和函数恒为零
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (数据大屏)(Hadoop)基于SSM框架的学院校友管理系统的设计与实现+文档
  • (四)事件系统
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .NET Core、DNX、DNU、DNVM、MVC6学习资料
  • .Net 基于.Net8开发的一个Asp.Net Core Webapi小型易用框架
  • .net6Api后台+uniapp导出Excel
  • .netcore如何运行环境安装到Linux服务器
  • .Net各种迷惑命名解释
  • .NET应用架构设计:原则、模式与实践 目录预览
  • .net中应用SQL缓存(实例使用)