在一个窗口中运行多个Linux终端

Linux提供了多种方法来将终端窗口分割成几个小屏幕,从而在某种意义上允许“多任务”操作模式。这可以至少以五种不同的方式来完成。


似乎有什么比Linux终端的热闪烁更好的呢? -)
结果是:两个端子的热闪烁!其实越多越好。

终端一旦物理设备,但今天他们只需在电脑上的应用程序。如果您正在积极使用终端,您可能会多次发现一个终端通常是不够的。然后,您需要打开一个新终端(新窗口),以便在第一个终端忙于编译,转换或其他数据处理时可以在其中工作。

如果您是系统管理员,则很可能需要几个开放的终端:一个用于管理Web服务器,另一个用于管理数据库,第三个用于复制文件,依此类推。当有许多打开的选项卡时,很难同时跟踪所有进程,这使工作变得非常复杂。

能够打开多个选项卡的终端应用程序在Linux中早已存在,幸运的是,这种趋势在适当的时候就开始发展。现在,每个人都将多选项卡终端视为理所当然。但是,对于许多选项卡而言,切换选项的麻烦。

因此,下一步是拆分为多个屏幕:可以在同一窗口中同时打开两个或更多微型终端。大多数Linux构建都有许多工具来帮助组织这样的分区。

Linux Shell,终端和文本控制台


在我们开始遍历整个窗口之前,我会提醒您外壳,终端和控制台之间的区别:

  • — , - «» . , - (, ).
  • — , Linux (, X11 Wayland) . , . , .
  • « » « » — , , . , Alt-Ctrl-F1 (Alt-Ctrl-F2 ). .

一些应用程序允许您将外壳和控制台拆分为屏幕,而其他应用程序则可以拆分终端。

多路复用器



这也许是最灵活的工具。tmux是一个终端多路复用器,可以完全基于热键使用。您将不必为了寻找鼠标而放开手,但是您将不得不研究某些键组合的作用。

您可以将一个选项卡“覆盖”在另一个选项卡上,然后在它们之间切换。您还可以将选项卡分为两个(三个,四个等)屏幕。

如果您主要使用tmux来分割屏幕,那么您就可以了解一些组合:

  • Ctrl-B%垂直拆分(左侧一个屏幕,右侧另一个屏幕)
  • Ctrl-B“水平分割(上方一个屏幕,下方另一个屏幕)
  • Ctrl-B O在面板之间切换
  • Ctrl-B?开放帮助
  • Ctrl-B d离开tmux并使其在后台运行

Tmux具有许多有趣的功能:例如,在一台计算机上启动tmux会话,并从另一台计算机远程连接到同一会话。例如,由于在Pi上运行了tmux,我可以从任何地方连接到IRC:在Pi上运行tmux,然后从我可以访问的任何计算机上登录。当我注销时,tmux继续工作,耐心等待我从另一台计算机连接到会话。

GNU屏幕




类似于GNU Screen中的 tmux 您可以连接和断开已经运行的会话,并将窗口水平和垂直拆分为多个屏幕。

但是,此工具不如tmux灵活。 GNU Screen Ctrl-A的介绍性组合也是跳转到Bash行首的命令。因此,当多路复用器运行时,要转到行的开头,必须按两次Ctrl-A,而不是两次。因此,就我个人而言,我通常在$ HOME / .screenrc中将此组合更改为Ctrl-J:

escape ^jJ

屏幕处的屏幕拆分功能效果很好,但是它存在tmux中不存在的一些缺点。例如,当您拆分终端窗口时,拆分后出现的面板上不会启动该终端的新副本。您必须按Ctrl-A Tab(如果像我一样重新定义键盘快捷键,则必须按Ctrl-J Tab)并使用Ctrl-A C手动创建新外壳。

与tmux不同,退出终端时拆分不会消失。这是一项设计功能,在某些情况下非常有用。尽管有时这很不方便,但是因为它迫使您手动管理分区的重置。

但是,如果发现由于某些原因无法使用tmux,则GNU Screen是一个可靠且功能强大的应用程序,可以运行该应用程序。

这是基本的GNU Screen命令:

  • Ctrl-A | ( — , — )
  • Ctrl-A S ( — , — )
  • Ctrl-A Tab
  • Ctrl-A ?
  • Ctrl-A d Screen ( , screen -r)

Konsole



Konsole是标准的KDE Plasma桌面终端。与KDE本身一样,Konsole具有广泛的自定义选项。

它的众多功能之一是能够将窗口拆分为多个屏幕。由于Konsole是图形终端,因此您可以用鼠标而不是键盘来控制它。

为此,请转到“视图”菜单。您可以水平或垂直拆分窗口。要切换活动面板,只需用鼠标选择所需的面板即可。每个面板都是唯一的终端,因此可以有自己的主题和标签。

与tmux和GNU Screen不同,您不能断开连接并重新连接到Konsole会话。像大多数图形应用程序一样,您可以在物理上使用Konsole。因此,对于远程访问,您必须使用特殊的软件。

埃马克斯



Emacs不是终端多路复用器,但其接口支持窗口拆分和调整大小。它还具有一个集成终端。

无论如何,如果您每天都与Emacs一起工作,则意味着您已经很高兴有机会方便地组织工作区。而且,由于Emacs eshell模块是在eLISP上实现的,因此您可以使用在Emacs本身中使用的相同命令与之交互,这使得复制和提取长文件路径或输出命令变得容易。

如果在图形窗口中使用Emacs,则可以用鼠标执行一些操作。例如,您可以通过单击来选择活动面板,或者在断开窗口后调整屏幕大小。

尽管有时使用键盘快捷键会更快:

  • Ctrl-X 3垂直拆分(左侧一个屏幕,右侧另一个屏幕)
  • Ctrl-X 2水平分割(上方一个屏幕,下方另一个屏幕)
  • Ctrl-X O在面板之间切换(可以用鼠标完成)
  • Ctrl-X 0(0为零)关闭当前面板

与tmux和GNU Screen相似,您可以通过emacs-client断开连接并连接到Emacs会话

窗口管理器



如果您认为可以将窗口分割成多个屏幕并在每个窗口中启动一个终端的文本编辑器自然是个谜,那么当您的桌面可以执行相同的任务时,您会感到惊讶。可以配置Linux桌面,例如Ratpoison,Herbsluftwm,i3,Awesome甚至KDE Plasma桌面,以便每个应用程序窗口在桌面网格中显示为固定的图块。

它们将保留在指定的位置,而不是在桌面“上方”浮动的窗口,因此您可以从一个切换到另一个。通过模拟终端多路复用器,可以在网络上打开任意数量的终端。实际上,您甚至可以在桌面多路复用器中打开终端多路复用器。

并没有阻止您使用其多路复用器模式在其中打开Emacs的方法。没有人知道如果您以同样的方式继续下去会发生什么,并且大多数Linux用户都同意最好不要在家中重复此操作。

与tmux和GNU屏幕不同,如果不使用特殊软件,就无法断开连接并重新连接到桌面的“会话”。

更多选择?


信不信由你,还有更多选择。有终端仿真器(例如Tilix和Terminator),带有内置终端组件的应用程序等等。

以及如何将终端拆分为多个屏幕?



作为广告


VDSina为任何任务提供虚拟和物理服务器,提供大量用于自动安装的操作系统,可以从自己的ISO安装任何操作系统,也可以通过自己设计和日常付款的便捷控制面板进行安装我们还有永恒的服务器;)


All Articles