qt中按下按键运行ros指令

写一条语句即可。

system("gnome-terminal -x zsh -c 'source ~/catkin_kinect/devel/setup.zsh;roslaunch kinect2_bridge kinect2_bridge.launch limited:=true'&");

gnome-terminal

gnome-terminal是linux里面的终端模拟器。

-x

-e 可以出现多次,如果在所有–window前面,表示对所有window和tab起作用,
如果在–window或者–tab后面,表示只针对这个tab执行,要注意-e后面只能有一个参数
也就是说如果有空格,需要用引号,具体见后例
-x 只能出现一次,在-x后面的所有内容,均认为是要执行的命令,所以可以出现空格
这些命令是针对所有tab都执行的

zsh -c

当我们只执行 $ gnome-terminal -x 时,窗口会一闪而过,

在bash里面再启用一个bash
$ gnome-terminal -x bash -c “ls; exec bash”
这样窗口就可以不会闪退啦。

由于我的shell是zsh,所有没有用bash。

source ~/catkin_kinect/devel/setup.zsh;

这条指令是加入kinect的启动文件到.zshrc中,重新执行刚修改的初始化文件,使之立即生效。

roslaunch kinect2_bridge kinect2_bridge.launch

想要执行的指令。

你可能感兴趣的:(机器人技术)