Я новичок в этой платформе. У меня вопрос о rc.local. Я создал скрипт для автоматического запуска roscore и 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-ю шагами. Как я могу сделать & quot; rc.local & quot; выполняться при запуске? но это не сработало.
Проблема решена полностью. Решение приведено ниже.
Сначала создайте скрипт, который вы хотите запустить в нем. Я хочу запустить 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. Когда вы запускаете компьютер, ваш скрипт полностью работает.
Проблема решена полностью. Решение приведено ниже.
Сначала создайте скрипт, который вы хотите запустить в нем. Я хочу запустить 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. Когда вы запускаете компьютер, ваш скрипт полностью работает.
Проблема решена полностью. Решение приведено ниже.
Сначала создайте скрипт, который вы хотите запустить в нем. Я хочу запустить 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. Когда вы запускаете компьютер, ваш скрипт полностью работает.
Проблема решена полностью. Решение приведено ниже.
Сначала создайте скрипт, который вы хотите запустить в нем. Я хочу запустить 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. Когда вы запускаете компьютер, ваш скрипт полностью работает.
rc.local выполняется до того, как доступен графический пользовательский интерфейс (т. е. X). Поэтому выполнение xterm в вашем скрипте auto.sh WILL завершается ошибкой. Если вы хотите, чтобы xterm всплывал при запуске, вам нужно открыть его через «Запуск приложений» Ubuntu. Запуск сценария с привилегиями root будет немного более развитым, так как вам нужно будет установить для него запись NOPASSWD в файле /etc/sudoers и убедиться, что он доступен только для прав root.
rc.local выполняется до того, как доступен графический пользовательский интерфейс (т. е. X). Поэтому выполнение xterm в вашем скрипте auto.sh WILL завершается ошибкой. Если вы хотите, чтобы xterm всплывал при запуске, вам нужно открыть его через «Запуск приложений» Ubuntu. Запуск сценария с привилегиями root будет немного более развитым, так как вам нужно будет установить для него запись NOPASSWD в файле /etc/sudoers и убедиться, что он доступен только для прав root.
rc.local выполняется до того, как доступен графический пользовательский интерфейс (т. е. X). Поэтому выполнение xterm в вашем скрипте auto.sh WILL завершается ошибкой. Если вы хотите, чтобы xterm всплывал при запуске, вам нужно открыть его через «Запуск приложений» Ubuntu. Запуск сценария с привилегиями root будет немного более развитым, так как вам нужно будет установить для него запись NOPASSWD в файле /etc/sudoers и убедиться, что он доступен только для прав root.
rc.local выполняется до того, как доступен графический пользовательский интерфейс (т. е. X). Поэтому выполнение xterm в вашем скрипте auto.sh WILL завершается ошибкой. Если вы хотите, чтобы xterm всплывал при запуске, вам нужно открыть его через «Запуск приложений» Ubuntu. Запуск сценария с привилегиями root будет немного более развитым, так как вам нужно будет установить для него запись NOPASSWD в файле /etc/sudoers и убедиться, что он доступен только для прав root.