如何打开一个额外的控制台并使用一个命令在其中运行程序?
所以我知道如果输入gnome-terminal或xterm,会弹出一个新窗口。 然后我检查了这两个的手册页,没有找到任何相关内容。
然后我注意到在Mac下你可以打开程序。 但似乎在Linux下它并不是那么微不足道。
有没有人有经验?
我更喜欢使用选项-x
来提供比-e
更可靠的工作:
gnome-terminal -x bash -c "; exec bash"
-
选项
-x
表示--execute
– 终端内命令行的其余部分。 -
我们的命令是
bash -c "
。 这意味着我们执行一个新的" bash
shell,它应该运行一些-c "
。" -
我们有两个分开的(通过分号
; == new line
)
。 -
第一个命令
将执行我们想要的。 -
第二个命令
exec bash
有一个含义 – 保持打开当前的gnome-terminal
窗口。 还有另一种可行的方法 。 在当前情况下,命令exec
将用新的过程映像替换当前过程映像 – 换句话说,它将“终止”当前进程并在当前PID下执行新的(bash
)。
更新:现在不推荐使用-x/-e
语法 – Ubuntu 18.04。 新推荐的方式是:
gnome-terminal -- bash -c "; exec bash"
更多使用此格式的示例:
- 打开一个新的终端和源脚本
- 从SSH会话启动gnome-terminal到桌面会话
- 启动时启动特定终端
- 应该执行到终端窗口的Crontab和C程序
- 在PC启动时,在启动应用程序中使用时,Xdotool不会最小化终端窗口?
gnome-terminal -e cmd
将打开一个终端窗口并在其中运行cmd
。
您只需按CTRL ALT T即可打开一个新终端。
尝试gnome-terminal -e "bash -c command;bash"
保持窗口打开的另一种方法是使用xterm:
xterm -hold -e cmd
保持选项使窗口保持打开状态。