linux终端分割

有什么比闪烁的Linux终端更好的了吗?

肯定有:两个忽隐忽现的Linux终端。 实际上,越多越好。

很久以前, 终端是物理设备 ,但是,当然,今天,它们只是被模拟为计算机上的应用程序。 如果您希望使用终端作为界面,则可能知道一个终端很少。 不可避免地,您将要打开一个新的终端或一个新的选项卡,以便您可以在第一个忙于编译或转换或以其他方式处理数据时使用它。

如果您是系统管理员,那么您将知道同时使用多个系统时,至少需要四个打开的窗口。

唯一的答案是一个分屏,以便在一个应用程序窗口中可以同时存在两个或更多终端。 Linux套件中有许多工具可帮助您对控制台进行切片和切块。

外壳,终端和控制台

在对屏幕进行切片和切块之前,您应该了解端子,外壳和“控制台”之间的区别。 要了解全部情况,请在Enable Sysadmin博客上阅读有关该主题的文章。

简短版本:

  • 外壳是带有提示的输入和输出屏幕。 从技术上讲,即使在看不到POSIX桌面的地方,也有运行的shell(因为它是启动用户会话的shell)。
  • 终端是在图形服务器(例如X11或Wayland)中运行的应用程序,其中装有外壳。 仅在启动终端窗口后,终端才会运行。 它或多或少是进入外壳的“门户”。
  • “控制台”或“虚拟控制台”是一个术语,通常表示在您的桌面外部运行的外壳。 您可以通过按Alt-Ctrl-F2进入虚拟控制台(通常从F3F7都可用,其中F1F7代表您的桌面,具体取决于您的分布)。

某些应用程序可让您拆分外壳或控制台,而其他应用程序可让您拆分终端。

多路复用器

tmux terminal

tmux可以说是最灵活,最强大的屏幕拆分器,它是一个以键盘为中心的终端多路复用器,这意味着您可以将一个控制台“层叠”在另一个控制台上,然后在两者之间切换。 您还可以将控制台视图拆分为一半(或三分之一或四分之一,依此类推),以便可以在其旁边看到其他控制台。

所有控件都集中在键盘周围,这意味着您不必为了寻找鼠标而不必松开键,而且还必须学习一些新的键盘组合。

如果您主要使用tmux进行屏幕拆分,那么您真正需要的唯一命令是:

  • Ctrl-B%进行垂直分割(左侧一个外壳,右侧一个外壳)
  • Ctrl-B“ (水平分割)(顶部一个外壳,底部一个外壳)
  • Ctrl-B O激活另一个外壳
  • Ctrl-B吗? 求助
  • Ctrl-B d与Tmux分离,使其在后台运行(使用tmux Attach重新输入)

tmux有许多好处,包括能够在一台计算机上启动tmux会话,然后从另一台计算机远程加入同一会话。 它实质上是守护您的shell。

例如,由于tmux在Pi上运行,因此我可以永久登录IRC-在Pi上启动tmux,然后从碰巧使用的任何计算机登录。 当我注销时,tmux继续运行,耐心等待我从另一台计算机重新连接到会话。

GNU屏幕

GNU Screen terminal

与tmux相似, GNU Screen是一个Shell多路复用器。 您可以从正在运行的会话中分离和重新连接,并且可以水平和垂直拆分屏幕。

屏幕比tmux笨重一些。 它的默认键绑定是Ctrl-A ,它也是Bash转到行首的键盘快捷键。 这意味着,如果您正在运行“屏幕”,则必须按两次Ctrl-A而不是一次按Ctrl + A才能转到行的开头。 就个人而言,我在$ HOME / .screenrc中使用以下行将触发键重新定义为Ctrl-J

escape ^jJ

Screen的split功能效果很好,但它保留了tmux缺少的一些功能。 例如,拆分外壳时,新的外壳不会在另一个面板中启动。 您必须使用Ctrl-A Tab导航到其他空间(如果像我一样重新定义键盘快捷键,则导航到Ctrl-J ),然后使用Ctrl-A C手动创建一个新外壳。

与tmux不同,退出外壳时拆分不会消失,这是一项设计功能,在某些情况下非常好,但有时也很麻烦,因为它迫使您手动管理拆分。

尽管如此,Screen是一个可靠,灵活的应用程序,如果您发现tmux不可用,您可以运行它。

以下是使用默认键盘快捷键的基本拆分命令:

  • Ctrl-A | 进行垂直分割(左侧一个外壳,右侧一个外壳)
  • Ctrl-A S进行水平分割(顶部为一个外壳,底部为一个外壳)
  • Ctrl-A Tab使另一个外壳处于活动状态
  • Ctrl-A吗? 求助
  • Ctrl-A d与Screen分离,使其在后台运行(使用screen -r重新输入)

Konsole

Konsole screen

Konsole是与KDE Plasma桌面捆绑在一起的终端。 像KDE本身一样,Konsole以高度可定制和强大而闻名。

与tmux和GNU Screen相似,它具有分割窗口的功能。 由于Konsole是图形终端,因此您可以用鼠标而不是键盘来控制其分屏功能。

在Konsole的“ 视图”菜单中找到拆分。 您可以水平或垂直拆分窗口。 要更改哪个面板处于活动状态,只需单击它。 每个面板都是唯一的终端,因此可以有自己的主题和标签。

与tmux和GNU Screen不同,您不能从Konsole分离和重新连接。 像大多数图形应用程序一样,您在物理上位于Konsole之前就可以使用它,而在不在时却无法访问它(除非使用远程桌面软件)。

埃马克斯

Emacs rpg

Emacs并非完全是一个终端多路复用器,但是其接口支持拆分和调整大小,并且具有内置终端。

无论如何,如果您每天都在Emacs中,则可以在本质上不同的应用程序之间划分窗口,这意味着您不必离开自己喜欢的文本编辑器的熟悉度和舒适度。 此外,由于Emacs eshell模块是在eLISP中实现的,因此您可以使用在Emacs本身中使用的相同命令与它进行交互,从而使复制和提取长文件路径或命令输出变得很简单。

如果在图形窗口中使用Emacs,则可以用鼠标执行一些操作。 使用键盘快捷键的速度更快,其中某些快捷键或多或少是必需的。 例如,您可以通过单击来更改哪个面板为活动面板,并且可以使用鼠标调整拆分屏幕的比例。

这些是重要的键盘快捷键:

  • Ctrl-X 3进行垂直拆分(左侧一个外壳,右侧一个外壳)
  • Ctrl-X 2用于水平分割(顶部为一个外壳,底部为一个外壳)
  • Ctrl-X O使另一个外壳处于活动状态(您也可以使用鼠标执行此操作)
  • Ctrl-X 0 (即零)关闭当前面板

与tmux和GNU Screen相似,只要运行emacs-client ,就可以从Emacs分离和重新连接。

窗口管理器

Ratpoison split screen

如果您认为可以拆分屏幕并加载终端的文本编辑器令人惊叹,请想象您的桌面具有相同的用途。 有些Linux桌面(例如RatpoisonHerbsluftwm ,i3,Awesome甚至是启用了特定设置的KDE Plasma桌面) 会将每个应用程序窗口显示为桌面网格中的固定图块。

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

并没有阻止您使用其中的拆分缓冲区加载Emacs的方法。 没有人知道如果您采取进一步的措施会发生什么,并且大多数Linux用户都认为最好不要发现它。

与tmux和GNU Screen不同,除非您使用远程桌面软件进行计数,否则您无法从桌面分离和重新连接。

其他选择

信不信由你,这些并不是您在Linux上分割屏幕的唯一选择。 还有其他终端仿真器,例如之前的Tilix和Terminator,可以拆分为多个部分,并可以嵌入嵌入式终端组件的应用程序等等。 在评论中告诉我们您最喜欢的划分工作空间的方式。

翻译自: https://opensource.com/article/20/5/split-terminal

linux终端分割

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐