我刚刚发现,我明天需要一个简单的演示.我正在使用使用ROS的机器人,并且我们有一些软件包可以使它以简单的模式移动.我想用一个命令启动所有必要的节点.我需要在所有独立的终端中运行的命令行是:
罗斯科尔
尔维兹
roslaunch [空白move_base地图]
roslaunch [程序包] [动作脚本]
rqt_graph
所有这些程序都会无限期运行-例如,roscore是协调其他节点的服务器.我不能只使用“&”将它们串成一行.它们每个都需要专用的终端窗口/过程.如何在bash或Python中做到这一点?
注意:我意识到使用自定义ROS启动文件可能会更好,但是我没有时间.
解决方法:
您可以从终端二进制文件本身启动软件,以便为每个终端获得一个新的终端.这取决于您使用的终端.有了konsole,您可以拥有
konsole -e command [args]
...
使用gnome-terminal,您可以:
gnome-terminal -e command [args] &
使用xterm:
xterm -e command [args] &
可能还引用了类似的线程:Run multiple .sh scripts from one .sh script? CentOS