问题描述:做 ROS 途中,有一个需求,需要点击一个写好的 bottom,蹦出 rviz. (实际是调用 launch 文件启动 rviz ) 但是现在 rviz 可以启动,随之反馈信息的 terminial 也会一起蹦出来,如何让 terminal 不显示,藏在后台里。
|
nullboyJul 24, 2019
1
&
|
|
strongwongJul 24, 2019
2
你在这里问 ros 的问题,可能没有多少人玩这个吧。当然这也不算是一个 ros 问题。。。
你试试这样写 roslaunch 那条启动项 roslaunch xxx......xxx & 或者这样运行你的脚本 nohup ./xxxx.sh & |
|
3
@nullboy @strongwong 试过了都不管用 谢了
|
|
itfanrJul 24, 2019
4
别用 launch 自己写 ros run 或者自己重写一下 rviz 的启动部分 哈哈
|
|
tankrenJul 24, 2019
5
提个 ticket 给官方 前提你是 正版用户
|
|
loadingJul 24, 2019 via Android
8
了解一下 screen 命令
|
|
tongsucnJul 24, 2019
9
同楼上,screen 或者 tmux: https://github.com/tmux/tmux/wiki
|
|
chinvoJul 24, 2019 via iPhone
10
|
|
SaberJackJul 24, 2019 via Android
11
用 gazebo 啊
|
|
rubberJul 24, 2019
12
你所说的点击一个 Button,然后启动 rviz,这个 Button 是用什么做的,Qt?然后你启动 rviz 现在用的是什么具体方法?
我所了解的是 roslaunch 是用 python 写的一个 script,然后帮你启动 ROS 的节点,用子进程运行的话,并不会显示的启动 terminal 的。 |
|
jihu9001Jul 24, 2019 via Android
13
screen
|
|
14
|
|
17
@chinvo 对 我就是不想把 terminal 暴露给用户 ,请给点思路,如何用 web 控制?我现在就是 qt+python+执行程序 ,不太懂 web 控制的思路。
|
|
rubberJul 24, 2019
18
|
|
chinvoJul 24, 2019 via iPhone
19
|
|
20
@rubber os.system("gnome-terminal -e 'bash -c \"roslaunch xxx.launch; exec bash\" ' ") 用的这样一个命令,打开的 launch 文件。然后 launch 文件里内容比较简单,就是把 rviz 启动起来。
|
|
wweirJul 24, 2019
22
Ctrl + z
bg disown |
|
rubberJul 24, 2019
23
@img5d 不需要加 gnome-terminal,特意开个终端启动的,你直接 os.system("roslaunch xxx.launch")就好,最好再加个输出重定向。
|
|
ChyxsJul 24, 2019 via iPhone
25
./xxx >& /dev/null &
统统消失 |
|
dangyuluoJul 24, 2019
26
开启另一个进程吧,然后移交控制权吧。我也是用 ROS2 的,但是没有做 GUI 开发。
|
|
wly19960911Jul 24, 2019
28
我干脆丢到 screen 里面去算了
|