如何打开一个额外的控制台并使用一个命令在其中运行程序?

所以我知道如果输入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 

保持选项使窗口保持打开状态。