Ubuntu系统开机自启动程序脚本

Ubuntu系统开机自启动脚本

TIps:
当作一些测试程序的时候,会遇到一些需要开机自启动的程序,网上有很多方法但很多都不是普适性的,因此给大家写一个通用的开机自启动的脚本。

1、工作原理:

利用系统开机启动服务的原理,自己写一个 AutoRun.service 程序,将需要执行的脚本程序写入服务当中,只要系统开机默认启动该服务即可完成脚本的自动执行。
除了开机自启动,还有Ubuntu系统自带的Suspend 休眠唤醒后自启动示例,请参考:Ubuntu系统休眠唤醒后【Suspend】自启动程序脚本
服务的内部可填充的内容有很多,我这里只是用一个很简单的Demo作为示例,服务内部标签的详解请参考:.servce内容详解

2、AutoRun.service文件内容:

[Unit]
Description=AutoRun-Service
### Ubuntu ROS系统中配置Shell脚本开机自动运行 为了使Shell脚本能够在Ubuntu ROS环境中实现开机自启动,可以采用多种方式来完成这一目标。以下是几种常见且有效的方法: #### 方法一:通过`Systemd Service` 创建一个新的服务文件用于管理要自启的脚本是一个较为推荐的方式。具体操作如下所示[^1]: 1. 编写并测试待执行的Shell脚本,确保其能够正常工作; 2. 将该脚本放置于合适的位置(如`/home/user/scripts/start_ros_node.sh`),并且给予它可执行权限: ```bash sudo chmod +x /home/user/scripts/start_ros_node.sh ``` 3. 创建一个`.service`文件描述符,在此例子中命名为`start_ros.service`,将其存放在`/etc/systemd/system/`目录下: ```ini [Unit] Description=Start ROS Node at boot time [Service] ExecStart=/bin/bash -c '/home/user/scripts/start_ros_node.sh' [Install] WantedBy=default.target ``` 4. 刷新`systemctl`缓存,并启用新添加的服务以便随系统一同启动: ```bash sudo systemctl daemon-reload sudo systemctl enable start_ros.service ``` 这种方法不仅适用于普通的Shell脚本,同样适合处理复杂的ROS节点启动逻辑。 #### 方法二:利用图形界面中的“启动应用程序” 对于那些更倾向于GUI环境下的用户来说,可以通过“启动应用程序”工具来进行简单的自定义应用或脚本的设置[^2]: - 打开“启动应用程序”,点击“添加”。输入任意名称作为标识名;在命令栏填入完整的Shell脚本路径,例如`/home/user/scripts/start_ros_node.sh`;最后保存更改。 需要注意的是,这种方式更适合个人电脑而非服务器端部署场景,因为它依赖于用户的登录状态才能生效。 #### 方法三:编辑`~/.profile`或其他初始化文件 另一种简单直接的办法是在用户的主目录下的`.profile`或者其他类似的初始化文件里追加一行调用所需脚本的语句[^4]: ```bash /home/user/scripts/start_ros_node.sh & ``` 不过这样做可能会受到某些因素的影响而表现不稳定,因此建议优先考虑前两种方案之一。 以上就是在Ubuntu ROS环境下让Shell脚本随着操作系统一起启动的主要途径。每种方法各有优劣,请根据实际需求和个人偏好做出选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Darrich

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值