比较tmux、GNUScreen、Konsole和Terminator,瞧瞧那个最适宜你。
Linux用户一般须要大量的虚拟视觉空间。一个终端窗口是永远不够的,所以终端有了标签。一个桌面太受限制了,所以有了虚拟桌面。其实linux标准教程,应用程序窗口可以堆叠,但当它们堆叠上去时,又有多大的益处呢?哎呀,即便是后台文本控制台也有F1到F7,可以在任务之间来回翻转。
有了那么多的多任务处理方法,有人发明了终端多路复用器的概念就不奇怪了。固然,这是一个令人困扰的术语。在传统的电子学中,“多路复用器multiplexer”是一个接收多个输入讯号并将选取的讯号转发到单一输出的部件。终端多路复用器的作用恰好相反。它从一个输入(人类在鼠标上向一个终端窗口打字)接收指令,并将该输入转发给任意数目的输出(比如,一组服务器)。
之后,“多路复用器”一词在日本也是一个流行的术语,指的是有许多屏幕的影片院(与“影城cineplex”一词一个意思)。在某种程度上,这挺好地描述了终端复用器的作用。它可以在一个框内提供许多屏幕。
不管这个词是哪些意思,任何尝试过它的人都有自己的喜好的某一种多路复用器。因而,我决定考察一些流行的终端多路复用器,瞧瞧每一个都如何样。就我的评估标准而言,最低限度,我须要每位多路复用器才能分割和堆叠终端窗口。
tmux
据我所知,是从tmux开始使用“多路复用器”这个术语的。它工作的很出众。
它作为一个守护程序运行,这样虽然你关掉了正在查看的终端模拟器,你的终端会话一直处于活动状态。它将你的终端屏幕分割成多个面板,这样你就可以在每位面板上打开奇特的终端提示符。
推而广之,这意味着你也可以远程联接到任何数目的系统,并在你的终端中打开它们。借助tmux的能力,将输入镜像(或则以电子学术语说是“反向多路复用”)到其他打开的窗棂,才能从一个中央命令窗棂同时控制几台计算机。
tmux在GNUScreen还只能水平分割的时侯就有了垂直分割能力,这吸引了追求最大灵活性的粉丝。而灵活性正是用户在tmux中得到的。它可以分割、堆叠、选择和提供服务;几乎没有哪些是它做不到的。
软件包大小
从软件包中安装tmux大概须要700K,这还不算它所依赖的十几个共享库。
️控制键
tmux的默认触发键是Ctrl+B,虽然很容易在其配置文件中重新定义。
⌨️黑客因子
虽然你只是在学习怎么使用终端,你也一定会认为使用tmux的人很像黑客。它看上去很复杂linux打开终端快捷键,但一旦你了解了正确的键绑定,就很容易使用。它为你提供了好多有用的方法,让你玩的飞起,但是它是一种快速建立HUD(抬头显示器)的超简单方式,可以把你须要的所有信息摆在你面前。
GNUScreen
像tmux一样,GNUScreen也运行一个守护程序,所以就算你关掉了拿来启动它的终端,你的shell依然可用。你可以从不同的计算机上联接并共享屏幕。它可以将你的终端屏幕分割成水平或垂直的窗棂。
与tmux不同的是,GNUScreen可以通过串行联接进行联接(screen9600/dev/ttyUSB0就可以了),通过键盘绑定可以便捷地发出XON和XOFF讯号。
与SSH会话相比,在串行联接中须要多路复用器的情况可能并不常见,所以大多数用户并不了解Screen这个真正特殊的功能。不过,GNUScreen是一个很棒的多路复用器,有好多有用的选项。而假如你真的须要同时向多个服务器发送讯号红帽子linux下载,还有专门的工具,例如ClusterSSH和Ansible。
软件包大小
从软件包中安装GNUScreen大概须要970K,这还不算它所依赖的十几个共享库。
️控制键
GNUScreen的默认触发键是Ctrl+A,这对于熟悉Bash快捷键的人来说可能非常可恶。辛运的是,你可以在配置文件中轻松地重新定义这个触发键。
⌨️黑客因子
当使用Screen通过串行联接到你的路由器或你的原型电路板时,你会成为你所有硬件黑客同学艳羡的对象。
Konsole
对于没有标榜自己是多路复用器的Konsole来说,令人惊叹的是它也是其中一个。它可以使用Qt窗棂和标签进行必要的窗口分割和堆叠,但它也可以通过“编辑(将输入复制到)”菜单中的一个选项将输入从一个窗棂传到另一个(或全部)。
但是,它所最显著缺少的功能是作为一个守护程序运行以进行远程重新联接的能力。与tmux和GNUScreen不同,你不能远程联接到运行Konsole的机器并加入会话。对于一些管理员来说,这可能不是一个问题。许多管理员用VNC联接到机器的次数比用SSH还要多,所以“重新加入”一个会话如同在VNC顾客端上点击Konsole窗口一样简单。
使用Konsole作为多路复用器是KDE极客们的大招。Konsole是我使用的第一个Linux终端(直至明天,我有时也会按Ctrl+N来切换新标签),所以有能力使用这个熟悉的终端作为多路复用器是一个很大的便利。这绝不是必要的,由于无论怎样tmux和Screen都可以在Konsole上面运行,并且通过让Konsole处理窗棂,我就毋须调整胸肌记忆。这些微妙的功能宽容正是KDE的伟大之处。
软件包大小
Konsole本身大概是11KB,但它依赖于105个KDE和Qt库,所以实际上,它起码有50MB。
️控制键
大多数重要的Konsole快捷键以Shift+Ctrl开始,分割屏幕、打开新标签、复制输入到其他窗棂等都是这么。这是KDE里的主控台,所以假如你对Plasma桌面很熟悉,会觉得快捷键很熟悉。
⌨️黑客因子
使用Konsole作为你的多路复用器让你有资格称自己为KDE中级用户。
Terminator
对于GNOME用户来说,Terminator多路复用器是为她们原先极简的GNOME终端降低功能的一个简单方式。不仅必要的多路复用功能外,Terminator还可以向所有打开的窗棂广播输入,但和Konsole一样,它不会在后台运行便于你可以通过SSH重新联接到它。话说回去,因为GNOME和Wayland让VNC显得这么简单,你有可能会认为没有必要通过SSH来恢复终端会话。
假如你乐意,Terminator可以完全由键盘驱动。Konsole通过其主菜单也有同样的能力。有了Terminator,你可以在Shell的任何地方点击右键,弹出相关选项,以水平或垂直分割窗口,将窗棂分组作为广播目标linux打开终端快捷键,广播输入,关掉窗棂,等等。你还可以为所有这种动作配置鼠标快捷键,所以在许多方面,你可以产生自己的体验。
我觉得自己主要是一个KDE用户,所以当我说Terminator觉得像一个KDE应用时,我当然是一种极大的赞扬。Terminator是一个令人震惊的可配置的和灵活的应用程序。在许多方面,它彰显了开源的力量,把破旧的GNOME终端弄成了一个强悍的多路复用器。
软件包大小
Terminator的安装容量为2.2MB,其中大部份是Python模块。但它依赖于GTK3和GNOME,所以假如你没有运行完整的GNOME桌面,可以预想你须要一个更大的安装来拉入那些依赖。
️控制键
Terminator的默认控制键没有哪些一致性。你可以用Alt键来执行一些命令,用Ctrl来执行其他命令,还可以用Shift+Ctrl、Ctrl+Alt、Shift+Super等等,还有键盘。话说回去,这是我试过的最可配置的多路复用器之一,所以只要有看法,稍加努力,你能够设计出适宜你的模式。
⌨️黑客因子
当你使用Terminator时,你会感觉自己是最现代、最务实的黑客。因为它的各类极客选项,它是多路复用的最佳选择,但是因为它十分灵活,无论你的手是在按键上,还是鼠标和键盘并用,你都可以同样轻松地使用它。
我全要
还有更多的多路复用器和一些具有类似多路复用能力的应用。你何必非要找到一个完全依照你想要的方法完成你须要的所有工作的多路复用器。你可以使用不止一个。事实上,你甚至可以同时使用多个,由于tmux和Screen实际上是shell,而Konsole和Terminator是显示shell的终端。对唾手可得的工具倍感舒适,但是它们能帮助你管理你的工作空间,使你能有效地工作,才是最重要的。
去尝试一下多路复用器,或则在你喜欢的应用程序中发觉类似多路复用器的功能。它可能会改变你看待估算的方法。
via:
作者:SethKenlon选题:lujun9972译者:wxy校对:wxy
本文由LCTT原创编译,Linux中国荣誉推出