在后台运行的脚本中想打开终端显示部分信息,可使用gnome-terminal指令创建新终端执行要在终端显示内容的shell命令。
语法:gnome-terminal --title 终端名称 -x shell命令
如ssh连接:
gnome-terminal --title "200" -x ssh ubuntu@192.168.1.200 &
执行多条命令(多条指令顺序执行):
gnome-terminal -x bash -c "cmd1; cmd2"
执行bash脚本不关闭:
gnome-terminal -t " title-name " -x bash -c " sh ./run.sh; exec bash;"
-t 为打开终端的标题,便于区分。
-x 后面的为要在打开的终端中执行的脚本,根据需要自己修改就行了。
exec bash;是让打开的终端在执行完脚本后不关闭。
bash -c “cmd string”执行shell命令。
gnome-terminal命令一些常用参数:
打开后自动最大化:
gnome-terminal --maximize
打开后全屏:
gnome-terminal --full-screen
设置标题:
gnome-terminal --title="new title"
打开多个终端,多个tab:
gnome-terminal --window --window #打开两个
$gnome-terminal --window --tab --window --tab --tab #打开两个,第一个两个tab,第二个3个tab
设置打开的位置和大小(宽度x高度+左侧偏移量+上方偏移量):
gnome-terminal --geometry=640x480+210+110 # 640*480大小,左上点:(210, 110)
注意:640x480+210+110,其中640x480指的是窗口的长度和宽度,注意"x"是英文字母x,其中的210+110是窗口的x坐标和y坐标。
PS:注意,窗口坐标不是标准像素坐标,获取方式:
获得需要放置窗口的目标位置信息,可以通过终端命令“ xwininfo ”来获得。步骤是首先打开一个终端,然后将该终端拖到你想要的位置,之后运行命令xwininfo,此时鼠标会变成十字(“+”)形状,然后在你的想要的那个终端窗口内任意地方单击鼠标,如下图所示:
当在目标窗口单击鼠标完成后,会获得该窗口的位置信息,如下图:
例子:
gnome-terminal --title="bot1" -e 'bash -c "docker exec -it bot1 /bin/bash; exec bash"' --geometry=100x25+10+10
参考:
1、bash – 如何创建新的终端会话并执行多个命令
bash – 如何创建新的终端会话并执行多个命令 - 编程之家
2、bash -c
3、Ubuntu自定义终端窗口位置
Ubuntu自定义终端窗口位置 - impluse - 博客园
4、shell脚本中打开新终端