服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Ubuntu - ubuntu开机后ROS程序自启动问题

ubuntu开机后ROS程序自启动问题

2022-12-19 16:17后厂村路蔡徐坤 Ubuntu

这篇文章主要介绍了ubuntu开机后ROS程序自启动问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

平时有用到一些机器人或者带有ubuntu系统的移动设备,比如NVIDIA TX2,NVIDIA XAVIA, JetsonNANO,秒算,工控机等等,写好了程序后,如果想要运行,开机之后还得连接键盘鼠标,显示器,等程序运行之后还需要重新拔掉键盘鼠标显示器等等,步骤繁琐是一部分,还有可能因为反应不及时发生危险,尤其对于无人机等,因此需要配置程序开机自启动。

一、ubuntu免密开机

路径:系统设置–用户设置

ubuntu开机后ROS程序自启动问题

二、程序脚本启动

可以创建test.sh文件,将程序所需要运行的指令全部加入sh文件中。

例如:

?
1
2
3
4
#! /bin/bash
gnome-terminal -- bash -c "cd /home/xxx/Desktop/CSDN/test_demo/build;mkdir helloworld" & sleep 5
wait
exit 0

说明:

  • gnome-terminal --bash -c:会打开一个新的bash终端并执行c后面的语句。linux bash是一个命令处理器,通常运行于文本窗口中,并能执行用户直接输入的命令;Bash还能从文件中读取命令,这样的文件称为脚本。语句用’;;’,隔开,最后的sleep 5表示延迟5秒退出,这样就可以在新的终端看到运行效果,添加这个延时是为了方便验证是否启动程序或者节点
  • 如果是ubuntu 18.04以前的系统:gnome-terminal -x bash -c;ubuntu18.04以后的系统输入:gnome-terminal – bash -c
  • gnome-terminal --tab:同一终端窗口中打开一个新选项卡。而是打开一个新窗口。

三、文件赋予权限

chmod指令详细说明,请参考:【ubuntu】chmod命令

?
1
chmod 777 test.sh

四、开机启动项管理器

gnome-session-properties是ubuntu的开机启动项管理器。如果之前编写的sh文件,不需要sudo权限,即可将sh文件加入gnome-session-properties自启动管理器中即可。

终端输入:gnome-session-properties

ubuntu开机后ROS程序自启动问题

添加执行项目。其中command为你编写的脚本路径,name和comment可以随意配置。

ubuntu开机后ROS程序自启动问题

五、需要SUDO权限的脚本开机自启动

有的时候,我们的设备连接外部设备,需要打开串口,甚至是gpio口,这需要使用到权限,串口可以通过添加rules来设置为普通用户,但是之前在DJIManifold产品上需要程序对GPIO口进行设置,这个时候就需要用到sudo权限了,因为在进入sudo权限需要输入密码,这就不好完成开机自启动。

此时就需要利用shell脚本自动输入密码

?
1
指令:echo 'password' | sudo -S "./test.sh"

后续还需要做三步操作:

给文件运行权限

?
1
sudo chmod 777 start.sh

设置脚本自启动

?
1
gnome-session-properties

保持gnome-terminal窗口执行后不立刻关闭

在测试中会发现,gnome-terminal命令执行完会一闪而过,自行关闭。需要添加read命令,read命令是等待用户按下回车后使窗口关闭。

?
1
gnome-terminal -x bash -c "echo \"OK now\"; read"

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/zeye5731/article/details/126142233

延伸 · 阅读

精彩推荐
  • Ubuntuubuntu系统下怎么使用输入法?

    ubuntu系统下怎么使用输入法?

    ubuntu系统下怎么使用输入法?怎样更换输入方式系统(输入平台)与输入法?怎样添加删除输入法,怎样设置输入切换快捷键?下面我们一起来看看相关教程...

    ubuntu教程网10112019-10-16
  • UbuntuUbuntu18.04下安装配置SSH服务的方法步骤

    Ubuntu18.04下安装配置SSH服务的方法步骤

    这篇文章主要介绍了Ubuntu18.04下安装配置SSH服务的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的...

    Yrs_Dennis7712020-08-12
  • UbuntuU盘启动安装ubuntu kylin失败该怎么解决?

    U盘启动安装ubuntu kylin失败该怎么解决?

    U盘启动安装ubuntu kylin失败该怎么解决?当把系统ISO写入到U盘准备安装的时候,即却遇上一个大问题,就是提示U盘引导开始就停住了,不管重启电脑多少遍结果...

    ubuntu教程网7402019-10-16
  • UbuntuUbuntu常用命令大全

    Ubuntu常用命令大全

    Ubuntu常用命令大全,学习ubuntn系统的朋友可以收藏下,用ctrl+F查找即可...

    Ubuntu之家5042019-05-26
  • Ubuntuubuntu12.04中怎么修改图形界面关闭按钮位置?

    ubuntu12.04中怎么修改图形界面关闭按钮位置?

    ubuntu12.04中怎么修改图形界面关闭按钮位置?刚从windows转入linux,肯定会不太习惯,希望ubuntu的界面能像windows一样。我们先从修改窗口关闭按钮,最小化,...

    ubuntu技术网4782019-10-22
  • UbuntuUbuntu系统搭建Apache Web服务器教程

    Ubuntu系统搭建Apache Web服务器教程

    这篇文章主要分享Ubuntu系统搭建Apache Web服务器教程,有需要的朋友可以参考下...

    Ubuntu教程网4392020-10-09
  • Ubuntuubuntu系统怎么安装qq并登录?

    ubuntu系统怎么安装qq并登录?

    ubuntu系统安装qq并登录?使用linux操作系统,qq是必不可少的软件,如果不喜欢使用webQQ,那么就要安装qq软件了,具体方法如下,需要的朋友可以参考下 ...

    ubuntu教程网4372019-10-22
  • UbuntuUbuntu如何建立虚拟网卡模拟网络适配器

    Ubuntu如何建立虚拟网卡模拟网络适配器

    虚拟网卡,即使用软件模拟网络环境,模拟网络适配器,在Ubuntu中要如何建立虚拟网卡呢?下面以图文的形式为大家详细介绍下,感兴趣的朋友不要错过...

    Ubuntu教程网3942019-10-22