在另一个(新的)终端窗口上运行命令

在另一个(新的)终端窗口上运行命令

如何在另一个终端窗口中运行任何命令?

例如:我打开一个终端窗口,如果我运行类似的命令apropos editor,那么它就会运行并在该窗口输出。但我想在另一个终端窗口(新窗口)上运行相同的命令,而不是在当前窗口上运行第一航站楼

进一步澄清
我需要suggest-command <command>打开新的终端窗口并运行<command>该(新打开的)窗口中提到的内容。(其中suggest-command是命令建议的示例。)

怎么做?

答案1

这可能是你运行的:

gnome-terminal -- sh -c "bash -c \"!!; exec bash\""

在旧版本中,使用 -e 和 -x:

gnome-terminal -e "bash -c \"!!; exec bash\""
# or
gnome-terminal -x sh -c "!!; bash"

它会打开 gnome-terminal,并显示你最后!!执行的命令 ( ),然后停留使用 shell 中的命令输出打开,甚至使用类似top或的交互式命令less...

就你的情况而言:

gnome-terminal -- sh -c "bash -c \"apropos editor; exec bash\""

或者在旧版本中:

gnome-terminal -c "bash -c \"apropos editor; exec bash\""
# or
gnome-terminal -x sh -c "apropos editor; bash"

答案2

每个终端甚至是一个程序,您可以像任何其他程序一样启动它,并将其&置于后台,提供参数列表等等。

使用哪个终端首先取决于您使用的系统的可用性(是否安装),其次取决于它们的特性,然后取决于您的个人喜好。

  konsole   --hold -e "ls" &  
  xterm      -hold -e "ls" &  
  gnome-terminal   -e "ls" & ...  

注意以下区别-holdxterm--holdkonsole

每一个实现都有不同的选择您必须查看帮助。即使帮助也可以通过不同的方式调用。您会发现不起作用man konsole,因此您必须直接使用 向可执行文件询问--help

这是您可以在系统上搜索的终​​端列表

aterm          - AfterStep terminal with transparency support
gnome-terminal - default terminal for GNOME
guake          - A dropdown terminal for GNOME
konsole        - default terminal for KDE
Kuake          - a dropdown terminal for KDE
mrxvt          - Multi-tabbed rxvt clone
rxvt           - for the X Window System (and, in the form of a Cygwin port, 
                 for Windows) 
rxvt-unicode   - rxvt clone with unicode support
xfce4-terminal - default terminal for Xfce desktop 
                 environment with dropdown support
Terminator     - is a GPL terminal emulator. It is available on
                 Microsoft Windows, Mac OS X, Linux and other Unix X11 systems.
Terminology    - enhanced terminal supportive of multimedia 
                 and text manipulation for X11 and Linux framebuffer
tilda          - A drop down terminal
wterm          - It is a fork of rxvt, designed to be lightweight, but still
                 full of features
xterm          - default terminal for the X Window System
Yakuake        - (Yet Another Kuake), a dropdown terminal for KDE

答案3

启动您想要运行的任何终端的另一个实例:

xterm -hold -e 'apropos editor' & 

注意-hold。大多数终端在运行您输入的命令后都会退出。网站上已经有十几个关于此问题的问题:

另一种方法是使用需要退出的应用程序。nano它将自行保持打开状态。如果您只是输出到屏幕,您可以将其输入到less

xterm -e 'apropos editor | less' & 

也就是说,就您而言(正如其他两个人所说),只需打开另一个终端并运行命令似乎更容易。

答案4

  1. 打开两个终端。
  2. 用命令识别每个终端tty
  3. 假设他们认同/dev/pts/0/dev/pts/1
  4. 在终端 pts/0 使用命令将 stdout 重定向到 pts/1 execexec 1>/dev/pts/1
  5. 现在,来自 pts/0 终端的每个命令 stdout 输出都显示在 pts/1 中。
  6. 使用命令重定向回 stdout:exec 1>/dev/pts/0
  7. 现在 pts/0 stdout 可以像以前一样工作。

相关内容