个人网站主题,如何免费推广一个网站,绿色主题网站,南昌网站建设制作公司文章目录 gnome-terminalQt 通过QProcess类Qt 通过system gnome-terminal
在Ubuntu中可以使用man gnome-terminal命令查看gnome-terminal的使用指南#xff0c;也可在ubuntu manuals查看#xff1a;
NAMEgnome-terminal — 一个终端仿真应用.概要gnome-terminal [-e, --c… 文章目录 gnome-terminalQt 通过QProcess类Qt 通过system gnome-terminal
在Ubuntu中可以使用man gnome-terminal命令查看gnome-terminal的使用指南也可在ubuntu manuals查看
NAMEgnome-terminal — 一个终端仿真应用.概要gnome-terminal [-e, --commandSTRING] [-x, --execute ] [--window-with-profilePROFILENAME] [--tab-with-profilePROFILENAME] [--window-with-profile-internal-idPROFILEID] [--tab-with-profile-internal-idPROFILEID] [--roleROLE] [--show-menubar] [--hide-menubar] [--geometryGEOMETRY] [--working-directoryDIRNAME] [-?, --help]选项-e, --commandSTRING在终端内执行此选项的参数。-x, --execute在终端内执行命令行的其余部分。--window-with-profilePROFILENAME打开一个新窗口其中包含具有给定配置文件的选项卡。 可以提供多个这些选项。--tab-with-profilePROFILENAME在具有给定配置文件的窗口中打开一个选项卡。可以提供多个这些选项以打开多个选项卡 。--window-with-profile-internal-idPROFILEID打开一个新窗口其中包含具有给定配置文件 ID 的选项卡。在内部用于保存会话。--tab-with-profile-internal-idPROFILEID在窗口中打开具有给定配置文件 ID 的选项卡。 在内部用于保存会话。--roleROLE为最后一次指定的窗口设置role;仅适用于一个窗口;可以为从命令行创建的每个窗口指定一次。--show-menubar打开最后指定的窗口的菜单栏;仅适用于一个窗口;可以为从命令行创建的每个窗口指定一次。--hide-menubar关闭最后指定的窗口的菜单栏;仅适用于一个窗口;可以为从命令行创建的每个窗口指定一次。--geometryGEOMETRY指定窗口位置每个要打开的窗口可以指定一次。--working-directoryDIRNAME将终端的工作目录设置为 DIRNAME。-?, --help显示帮助消息。用法
gnome-terminal [选项…] [-- 命令 …]在终端中输出 gnome-terminal就会自动弹出一个新的终端.命令执行完或者遇到错误后这个新终端也会闪退。
在bash中 加上exec bash。这样新终端在执行完命令后也不会退出了如
gnome-terminal --bash -c python3;exec bash– bash -c后面写的是命令。
参数说明:帮助选项-h, --help 显示帮助选项--help-all 显示全部帮助选项--help-gtk 显示 GTK 选项--help-terminal 显示终端选项--help-window-options 显示每个窗口的选项--help-terminal-options 显示每个终端的选项GTK 选项--class类 窗口管理器所使用的程序类--name名称 窗口管理器所使用的程序名--gdk-debug标志 要设置的 GDK 调试标志--gdk-no-debug标志 要取消的 GDK 调试标志--gtk-module模块 装入额外的 GTK 模块--g-fatal-warnings 将警告变为严重--gtk-debug标志 要设置的 GTK 调试标志--gtk-no-debug标志 要取消的 GTK 调试标志Options to open new windows or terminal tabs; more than one of these may be specified:--window 打开包含默认配置下一个标签页的一个新窗口--tab 在最后一个打开的窗口中打开一个默认配置下的新标签页Window options; if used before the first --window or --tab argument, sets the default for all windows:--show-menubar 打开菜单栏--hide-menubar 关闭菜单栏--maximize 最大化窗口--full-screen 全屏幕窗口--geometry几何形状 设置窗口大小例如80x24或者 80x24200200列x行X坐标Y坐标--role角色 设置窗口角色--active 将上次指定的标签页设定为所在窗口的当前标签页Terminal options; if used before the first --window or --tab argument, sets the default for all terminals:-e, --command 在终端中执行此选项的参数--profile配置文件名 使用提供的配置文件而非默认配置-t, --title标题 设置初始终端标题--working-directory目录名 设置工作目录--wait 等待子进程退出--fd文件描述符 转发文件描述符--zoom缩放 设置终端的缩放系数1.0 正常大小应用程序选项--load-config文件 载入一个终端配置文件--preferences 显示首选项窗口-p, --print-environment 打印与终端交互的环境变量-v, --verbose 增加诊断详细程度-q, --quiet 抑制输出--display显示 要使用的 X 显示-t, --title标题 为打开终端设置初始的标题便于区分。-c,--command: -c是指cmd ,后面是要执行的命令双引号中可以为多个命令命令以分好为结束符号如果执行多个命令可以用分号隔开如:test1.sh; test2.sh 如果需要同时并行启动多个脚本可以在命令行后面加 符号使命令后台运行.-e excute: 可以出现多次要注意 -e 后面只能有一个参数也就是说 -e 后面的所有需要用引号括起来。如-e bash -c pwd; exec bash;如gnome-terminal -e bash -c ls; exec bashexec bash: 是让打开的终端在执行完脚本后不关闭一直存在。 如果直接写bash也行相当于开了一个子shell。 --window: 表示打开一个终端窗口。如gnome-terminal --window --window #打开两个终端如gnome-terminal --window --tab --window --tab --tab #打开两个终端第一个两个tab第二个3个tab--tab: 在其中新开辟一个标签页如果还想要更多标签页就就继续加--tab。--profile配置文件名 使用提供的配置文件而非默认配置--working-directory目录名 设置工作目录--wait 等待子进程退出--fd文件描述符 转发文件描述符--zoom缩放 设置终端的缩放系数1.0 正常大小$ 因为 -x 和 -e 已经被弃用了。所以被取而代之的是 -- 符号还有就是 bach -c这条命令因为是在新启动的终端里执行bash -c即启动子shell。改之后如gnome-terminal --tab -- bach -c lsgnome-terminal --tab -- bash -c pwd; exec bash;[终端启动后自动执行命令]有两个参数可以实现这个功能-e 和 -x这两个区别在于-e 可以出现多次。如果在所有 --window 前面表示对所有 window 和 tab 起作用。如果在 --window 或者 --tab 后面表示只针对这个 tab 执行;注意: -e 后面只能有一个参数, 也就是说如果有空格需要用引号-x 只能出现一次在-x后面的所有内容均认为是要执行的命令所以可以出现空格。这些命令是针对所有tab都执行的.注意 \ 连续符号后面不能跟 注释否则注释后面的内容执行不到。
例子
gnome-terminal --window --window #打开两个
gnome-terminal --window --tab --window --tab --tab #打开两个第一个两个tab第二个3个tab
gnome-terminal -- bash -c ls; cd ~/lzk; exec bash #打开一个终端然后进入某一子目录Qt 通过QProcess类
QProcess *processnew QProcess
process-start(bash); //启动终端(Windows下改为cmd)
process-waitForStarted(); //等待启动完成
process-write(命令‘\n’); //向终端写入命令注意尾部的“\n”不可省略Qt 通过system
system(gnome-terminal -x bash -c 设置环境变量; 命令);例子 system(gnome-terminal -- bash -c source /opt/ros/melodic/setup.bash ;roscore);system(gnome-terminal -- bash -c source /opt/ros/melodic/setup.bash ;rosrun turtlesim turtlesim_node);system(gnome-terminal -- bash -c source /opt/ros/melodic/setup.bash ;rosrun turtlesim turtle_teleop_key);system(gnome-terminal -x bash -c source ~/my_ws/devel/setup.bash;roslaunch my_package file.launch); 注意system函数中务必添加 source ~/catkin_ws/devel/setup.bash;目的是确保能找到所有相关联的包Package;否则将不能运行launch文件 source /opt/ros/melodic/setup.bash 是配置环境变量 #!/bin/bash
# 脚本名称: takeoff_land
# 脚本描述: 该脚本为起飞降落控制demo启动脚本,包含PX4 SITL,Gazebo仿真环境,无人机控制节点以及起飞降落控制节点gnome-terminal --window -e bash -c roscore; exec bash \
--tab -e bash -c sleep 5; roslaunch prometheus_gazebo sitl_outdoor_1uav.launch; exec bash \
--tab -e bash -c sleep 6; roslaunch prometheus_uav_control uav_control_main_outdoor.launch; exec bash \
--tab -e bash -c sleep 7; roslaunch prometheus_demo takeoff_land.launch; exec bash \
#--tab -e bash -c sleep 7; rosrun prometheus_demo takeoff_land.py; exec bash \sleep命令可以让脚本暂停执行一段时间其基本语法为
sleep seconds