文章目录

  • Ubuntu开机自启动程序的方法
    • 目标效果
    • 方案1:修改rc.local
      • 测试结果
    • 方案2:单独增加一个开机启动的脚本
      • 错误1
      • 错误2
      • 实测结果
      • refs
    • 方案3:利用官方快捷方式启动

Ubuntu开机自启动程序的方法

主要参考文章

目标效果

开机运行写好的脚本文件,启动terminal,执行ros及相关桌面程序

gnome-terminal -x bash -c “roscore; exec bash;”

方案1:修改rc.local

编辑/etc/rc.local文件完成此功能,在exit 0 之前写入要执行的代码即可。可以加入如下代码片段,方便查看执行情况

    #logexec 2> /tmp/rc.local.log  # send stderr from rc.local to a log file  exec 1>&2                  # send stdout to the same log file  set -x                     # tell sh to display commands before execution

开机后,在/tmp/rc.local.log文件中可以看到该文件执行的具体信息

测试结果

可以运行到这个脚本,但运行不了terminal.

方案2:单独增加一个开机启动的脚本

etc/init.d/文件夹下,可以看到很多脚本,最好任意打开一个作为参照仿写。

    cd /etc/init.d/sudo touch new.sh #这个文件夹好像不需要sudo权限

先尝试脚本能不能正常运行,可能会遇到以下错误:

错误1

    insserv: script new.sh is not an executable regular file, skipped!# 需要给权限sudo chmod +x /etc/init.d/new.sh

错误2

insserv: warning: script 'xxxx' missing LSB tags and overrides
insserv: Starting nifi depends on plymouth and therefore on system facility `$all' which can not be true!

需要仿照其它文件,加上说明头:

### BEGIN INIT INFO
# Provides:          scriptname
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO

继续操作,设定更新,具体可以查看开头的参考文章,90是执行顺序

sudo update-rc.d new.sh defaults 90

理论上,这样更新rc-d之后,会生成S90开头的软链接,但我操作完生成的软链接都是S01开头的…尴尬…
移除上面生成的软链接:

sudo update-rc.d -f new.sh remove

实测结果

与方法1是同样的,在这个级别启动时,桌面尚未启动,运行不了terminal.

refs

关于Ubuntu运行级别、开机启动脚本的说明

设置Linux自启服务以及优先级,这一篇讲的很复杂,照着做的时候做到创建软链接

sudo ln -vsf /etc/init.d/proxyserver S98proxyserver

不知道是不是我没有-vsf,系统提示我不能这样创建,就停在这里了。

方案3:利用官方快捷方式启动

将写好的脚本赋予权限后,在左上角搜startup applications,出来对话框后,直接增加一个,在command里面输入要运行的脚本文件路径即可。

这种方式适合启动桌面程序,执行优先级最低

找不到的话,命令行运行也可以起到同样的效果:

gnome-session-properties

Ubuntu开机自启动程序的方法相关推荐

  1. linux开机自启动程序设置方法

    linux如何开机运行自己的程序呢? 搞了几天终于搞定.... 1.首先在自己的工程文件里编写自启动shell文件,这是我的例子如下:文件名字(testudp.sh),可执行程序为tst_client ...

  2. 计算机程序怎么开机自动启动,开机自动运行程序怎么关闭 开机自启动程序关闭方法图解...

    有的朋友在使用电脑的时候总是需要安装一些软件,但对于如今的电脑软件,多数属于流氓性质,对于小白朋友安装一个软件,可能会同时安装多个软件,这就容易造成开机自动启动的行为,尤其是本来电脑配置就不高,还弄了 ...

  3. 开机自启动程序关闭方法_电脑非常卡,总有软件偷偷自启动?学会这1招,永久关闭它们!...

    小编有一个朋友,前段子发微信问我,说他的电脑非常卡,重装电脑后,会好转许多,非常流畅,但是过了几天又卡了. 我问了他的电脑配置,首先电脑的配置是绝对ok.当前一流水平,后来我远程操控了下他的电脑,发现 ...

  4. 开机自启动程序(登陆后)

    1. Preface 其实有好几种开机自启动程序的方法,这里只写最简单且亲测可行的. 2. Method 使用系统自带的开机自启动程序工具,打开terminal,然后输入gnome-session-p ...

  5. Ubuntu添加和设置开机自动启动程序的方法

    Ubuntu添加和设置开机自动启动程序的方法 1.Ubuntu添加开机自动启动程序的方法ubuntu 1. 开机启动时自动运行程序 Linux加载后, 它将初始化硬件和设备驱动, 而后运行第一个进程i ...

  6. Ubuntu管理开机自启动程序

    点击左侧的图标,在搜索栏上输入gnome-session,即可看到 "启动应用程序"的图标, 如下图: 在此管理开机自启动程序

  7. Ubuntu开机自启动(适用于ubuntu桌面、服务器、树莓派)

    Ubuntu开机自启动 前言 一.服务(Service)是什么? 二.编写服务 1.创建服务 2.撰写服务内容 3.设置服务自启动 二.编写脚本 三.编写程序 总结 前言 声明:本人使用树莓派4B+ ...

  8. Wince下定制开机自启动程序

    Wince下定制开机自启动程序 上网查了一下,发现相关的贴子还真是不少. 最近因公司的项目需要,我做了个简单的程序则试该功能. 用网上的很多方法发现是行不通的, 估计最初应该是可以用的, 然后大家都是 ...

  9. Jetson nano开机自启动程序

    目录 前言 1.介绍 2.创建开机自启动程序 2.1 创建一个bash文件 2.2 创建一个service文件 2.3 添加权限 2.4 移动service文件 2.5 启动服务 2.6 停止/重启服 ...

最新文章

  1. 实战mariadb-galera集群架构
  2. 【重版】朴素贝叶斯与拣鱼的故事
  3. C#LeetCode刷题之#190-颠倒二进制位(Reverse Bits)
  4. Spring , Spring mybatis 配制文件 模板
  5. jquery bind button 点击事件
  6. 使用图片验证码进行登录验证
  7. 如何在 Unity 中使用 Probuilder 设计一个简单的关卡
  8. 硬盘底座linux,ORICO推出全透明硬盘底座、移动硬盘盒
  9. 汉字 计算机 坟墓,墓的拼音_墓组词_墓意思(解释)-常用汉字大全
  10. vivado 时序例外约束
  11. 算法竞赛-ch2-水仙花数
  12. 非线性方程(组)的求解
  13. 前端页面渲染markDown文件
  14. 基于Lucene、Servlet新闻搜索引擎——国科大信息检索导论(王斌)大作业
  15. BIEE Hello World式的例子
  16. java.lang.IllegalStateException: No instances available for eurekaclient
  17. python socket 实现域名转IP
  18. ERP运维_用友U8_SQL后台改_成品入库与生产部门不匹配
  19. 测试理论知识之测试方法
  20. 利用FTP程序有效防止木马的方法

热门文章

  1. 用html3d静态相册带音乐,3D立体动态相册(带背景音乐)HTML+CSS脚本
  2. 卸甲归田——回顾CSP2019
  3. Java并发编程之volatile
  4. 我这大半年——求职理论篇
  5. 华为BBU3900学习
  6. android系统网络管理,详解安全管家Android平台上网管理功能
  7. SG函数和SG定理的运用
  8. 第一个工作单位的那些事
  9. 软件设计之UML—UML的构成[上]
  10. RRT算法(快速拓展随机树)的Python实现