首页 > 系统相关 >Ubuntu配置开机自启动

Ubuntu配置开机自启动

时间:2024-07-26 13:44:19浏览次数:20  
标签:ROS 服务 start sudo 开机 Ubuntu 自启动 ros boat

一、 创建启动脚本

创建启动脚本start_control_ros.sh

#!/bin/bash

# Wait for the network to be up (if needed)
sleep 30

# Source your ROS setup.bash (adjust the path if necessary)
source /opt/ros/noetic/setup.bash
source /home/boat/duyiming_ws/devel/setup.bash
export ROS_MASTER_URI=http://192.168.0.100:11311
export ROS_HOSTNAME=192.168.0.100
export ROS_IP=192.168.0.100
export ROS_LOG_MAX_DISK_BUFFER_SIZE=1024

# Launch your roslaunch file
roslaunch test boat_modbus_TCP_speed_start.launch
View Code


二、创建 systemd 服务单元文件

2.1 编辑服务单元文件

创建一个 systemd 服务单元文件来管理你的启动脚本

sudo vi /etc/systemd/system/boat_start_ros.service

内容如下:

[Unit]
Description=ROS Node Example
After=network.target

[Service]
Type=simple
ExecStart=/home/boat/duyiming_ws/src/test/scrips/boat_start/start_control.sh
Restart=always
RestartSec=5  # 在重启尝试之间添加 5 秒延迟

[Install]
WantedBy=multi-user.target

View Code
  • Description: 描述你的服务的信息。
  • After: 指定依赖的服务,这里是网络服务 (network.target),确保在网络准备好后再启动。
  • ExecStart: 指定要执行的启动脚本的路径。
  • Restart: 定义服务在失败时如何重启。always 表示始终重启,可以根据需要调整。
  • User: 如果你需要以特定用户的身份运行服务,可以指定这个用户。替换 your_username 为你的实际用户名。

  • 2.2 设置文件权限并启用服务

    设置文件权限:

    sudo chmod +x /home/boat/duyiming_ws/src/test/scripys/boat_start/start_control.sh
    sudo chmod 644 /etc/systemd/system/boat_start_ros.service
    sudo systemctl daemon-reload  # 重新加载 systemd 配置
    sudo systemctl enable boat_start_ros.service

    三、启动和管理服务

    启动服务:

    sudo systemctl start boat_start_ros.service

    停止服务:

    sudo systemctl stop boat_start_ros.service

    重启服务:

    sudo systemctl restart boat_start_ros.service

    查看服务状态和日志:

    sudo systemctl status boat_start_ros.service

    四、查看日志

    如果服务启动失败或遇到问题,你可以使用 journalctl 来查看系统日志:

    journalctl -xe

    标签:ROS,服务,start,sudo,开机,Ubuntu,自启动,ros,boat
    From: https://www.cnblogs.com/vcan123/p/18325160

    相关文章

    • ubuntu安装findutils报错xargs: not found
      因为缺少find所以安装findutilsapt-getinstallfindutils报错说缺少xargs和find,但这俩也是属于findutils的,造成了循环依赖root@ubuntu:/home/mika#apt-getinstallfindutilsReadingpackagelists...DoneBuildingdependencytreeReadingstateinformation...DoneTh......
    • 安装虚拟机Ubuntu&配置SSH&配置samba&设置公钥
      1安装虚拟机及Ubuntu准备好Vmware16安装包和Ubuntu16.04安装包创建新的虚拟机选择自定义配置选择虚拟机硬件兼容性:默认下一步安装客户机操作系统:选择稍后安装操作系统选择客户机操作系统:选择Linux、Ubuntu64位命名虚拟机:自行修改,可默认下一步处理器配置:根据电脑配......
    • ubuntu系统安装mysql
       一、下载安装包https://downloads.mysql.com/archives/community/使用wget命令下载tar包wgethttps://downloads.mysql.com/archives/get/p/23/file/mysql-server_5.7.42-1ubuntu18.04_amd64.deb-bundle.tarsudotar-xvfmysql-server_5.7.42-1ubuntu18.04_amd64.deb-bu......
    • Ubuntu24手动部署LNMP环境
      前提条件手动部署LNMP环境时,已有ECS实例必须满足以下条件:实例已分配公网IP地址或绑定弹性公网IP(EIP)。操作系统必须为Ubuntu22.04、Ubuntu20.04。实例安全组的入方向规则已放行22、80、443端口。具体操作,请参见添加安全组规则。重要基于服务器数据安全考虑,本文仅说明部署与......
    • 【Ubuntu】Ubuntu 配置镜像源(ARM)
      【Ubuntu】Ubuntu配置镜像源(ARM)零、起因最近在QEMU中安装了个ubuntu-24.04-live-server-arm64,默认是国外的软件源,很慢,故替换到国内。壹、替换源地址(清华源)https://mirror.tuna.tsinghua.edu.cn/help/ubuntu-ports/软件源文件内容:传统格式(/etc/apt/sources.list)#默认注释......
    • ubuntu下goland打开新的项目闪退的解决办法
      安装最新的ubuntu2024.04版本的desktop,安装了goland作go的开发遇到问题,刚从服务器clone的项目,使用goland打开,会闪退,再打开goland,会回到上一次正常打开的项目经过多次测试,发现是无法自动创建.idea目录导致,我复制一个其他项目的.idea的目录进取后,可以正常打开,但相关项目是信息是错......
    • Ubuntu24.04 部署Kubernetes
      参考文章:Ubuntu24.04安装Kubernetes-软件简史-SegmentFault思否一共部署三台机器,IP:192.168.33.4、192.168.33.5、192.168.33.6都是24.04的虚拟机1)设置HostName更新hosts文件登录到各个主机,并使用hostnamectl命令设置它们各自的主机名。sudohostnamectlset......
    • Ubuntu开机后进入initramfs导致无法进入系统解决方案
      今天,我的电脑意外关机,重新开机后打开了虚拟机。该虚拟机使用的是Ubuntu22.04系统。但重启后,系统一直显示(initramfs):,导致无法正常启动。最后,在网上查找了一些解决方案,成功解决了这个开机问题。在这篇文章中,我将与大家分享解决方案的过程和经验。 开机现象虚拟机系统是Ubun......
    • windows wsl ubuntu系统安装桌面可视化
      参考:https://www.bilibili.com/read/cv33557374/1)首先先安装好wslubuntu系统2)安装Ubuntu桌面版sudoaptpurge-yacpidacpi-supportmodemmanagersudoapt-markholdacpidacpi-supportmodemmanagersudoaptinstallubuntu-desktop3)配置显示管理器安......
    • 构建Ubuntu22.04根文件系统
      一、官网下载ubuntu-basehttp://cdimage.ubuntu.com/ubuntu-base/releases/本文章使用的是:buntu-base-22.04.5-base-arm64.tar.gz解压:mkdirubuntu_rootfssudotar-zxvfubuntu-base-22.04.5-base-arm64.tar.gz-Cubuntu22.04sudoapt-getinstallqemu-user-staticsudo......