从ROS节点重新启动计算机

时间:2018-11-22 11:26:54

标签: python ros

我想创建一个ROS服务,当使用export JAVA_HOME=YOUR_JAVA_LOCATION 进行调用时,它将重新启动计算机。

这是我的回调代码:

$ source .bash_profile

$ echo $JAVA_HOME

但是,当我运行rosservice(或服务称为任何名称)时,由于ROS和Python并未以def reboot_callback(self, cmd): """ Callback to reboot """ res = TriggerResponse() res.success = True res.message = "Rebooting" os.system('reboot') return res 的身份运行,我收到了rosservice call /reboot错误并且需要管理员权限才能重新启动计算机。

1 个答案:

答案 0 :(得分:1)

要具有从ROS节点重新启动计算机的正确特权,必须从root用户运行Permission Deniedsudo

这是我的做法:

  • 使用roscore

  • 进入root用户
  • 获取ROS设置文件和catkin_ws文件(rosrun

  • 运行sudo susource /opt/ros/kinetick/setup.bash && source catkin_ws/devel/setup.bash(如果有启动文件,则运行roscore),现在可以调用服务了。

另一种方法是使用tmux。

  • 在要重新启动的计算机上运行tmux

  • ssh到计算机并运行rosrun

  • 运行您需要启动的任何程序,以尝试使用ros重新启动计算机,并且应该可以运行