我是这个平台的新手。我有关于rc.本地。我创建了一个自动运行的脚本罗斯科尔和roslaunch rosbridge_server rosbridge_websocket.launch.此脚本名称为汽车脚本内容如下:
#!/bin/sh
cd $home
xterm -hold -e "roscore" &
xterm -hold -e "roslaunch rosbridge_server rosbridge_websocket.launch"
exit 0
我必须在 rc.local 中运行此脚本。创建的 rc.local 文件是:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sudo auto.sh
sh '/home/moguztas/auto.sh'
exit 0
我哪里做错了?我按照 9 步解决方案我怎样才能让“rc.local”在启动时运行?但它没有运行。
答案1
问题完全解决。解决方案如下。
首先创建一个要在其中运行的脚本。我希望rosbridge_websocket
在计算机启动时自动运行。我的脚本名称是汽车位于home/username/auto.sh
。脚本内容如下:
#!/bin/bash
cd $home
source /opt/ros/indigo/setup.bash
roslaunch rosbridge_server rosbridge_websocket.launch
exit 0
您必须检查脚本文件是否可执行。要执行脚本文件,请使用以下命令:$ sudo chmod u+x /home/username/auto.sh
rc.local
要执行的操作,请运行位于 的此脚本/etc/rc.local
。它是使用 创建的gksudo gedit /etc/rc.local
。其中的内容为rc.local
:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/home/username/auto.sh
exit 0
最后,您必须使用 重新启动系统$ sudo reboot
。当您启动计算机时,您的脚本已完全正常工作。