Linux 使用 GNU Screen 的技巧Linux 使用 GNU Screen 的技巧Linux 使用 GNU Screen 的技巧Linux 使用 GNU Screen 的技巧
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

Linux 使用 GNU Screen 的技巧

使用 GNU Screen 了解终端多路复用的基础知识,然后下载我们的备忘单,以便您随时掌握必要的快捷方式。

对于普通用户来说,终端窗口可能令人困惑且神秘。但随着您对 Linux 终端的了解越来越多,很快您就会意识到它是多么高效和强大。不过,您很快就会希望它变得更加高效,还有什么比在终端中放入更多终端更好的方法来使您的终端更好呢?

终端复用

该终端的众多优点之一是它是具有集中控制的集中界面。通过一个窗口,您可以访问数百个应用程序,与每个应用程序进行交互所需的只是键盘。但现代计算机几乎总是有闲置的处理能力,而且现代计算机专家喜欢多任务处理,因此一个窗口处理数百个应用程序可能会受到很大限制。

解决这一缺陷的常见方法是终端复用:将虚拟终端窗口分层放置,然后在它们之间移动的能力。使用多路复用器,您可以保留集中控制,但可以在执行多任务时交换接口。更好的是,您可以在终端内分割虚拟屏幕,这样您就可以同时显示多个屏幕。

选择正确的多路复用器

一些终端提供类似的功能,具有选项卡式界面和分割视图,但存在细微的差异。首先,这些终端的功能取决于图形桌面环境。其次,许多图形终端功能需要鼠标交互或使用不方便的键盘快捷键。终端多路复用器的功能在文本控制台中与在图形桌面上一样有效,并且按键绑定是围绕常见终端序列方便地设计的。

有两种流行的多路复用器:tmux 和 GNU Screen。它们做同样的事情,并且大多具有相同的功能,尽管您与每个人交互的方式略有不同。本文是 GNU Screen 的入门指南。有关 tmux 的信息,请阅读 Kevin Sonney 的 tmux 简介。

使用 GNU 屏幕

GNU Screen 的基本用法很简单。使用 screen 命令启动它,您将被置于 Screen 会话中的第零个窗口中。在您决定需要新提示之前,您可能几乎不会注意到任何变化。

当一个终端窗口被一项活动占用时(例如,您启动了 Vim 或 Jove 等文本编辑器,或者您正在处理视频或音频,或者正在运行批处理作业),您只需打开一个新窗口即可。要打开新窗口,请按 Ctrl+A,松开,然后按 c。这将在现有窗口之上创建一个新窗口。

您会知道自己处于一个新窗口中,因为您的终端除了默认提示之外似乎没有任何内容。当然,您的另一个终端仍然存在;它只是隐藏在新的后面。要遍历打开的窗口,请按 Ctrl+A,松开,然后按 n 表示下一个,或按 p 表示上一个。仅打开两个窗口时,n 和 p 功能上执行相同的操作,但您始终可以打开更多窗口(Ctrl+A 然后 >c)并遍历它们。

分屏

GNU Screen 的默认行为更像是移动设备屏幕而不是桌面:您一次只能看到一个窗口。如果您因为喜欢多任务而使用 GNU Screen,那么能够只专注于一个窗口可能看起来像是一种倒退。幸运的是,GNU Screen 允许您将终端分割成窗口中的窗口。

要创建水平分割,请按 Ctrl+A,然后按 Shift+S(大写)。这会将一个窗口置于另一个窗口之上,就像窗玻璃一样。然而,在您告诉它要显示什么之前,分割空间是没有任何用途的。 因此,创建拆分后,您可以使用 Ctrl+A 移动到拆分窗格,然后使用 Tab。到达那里后,使用 Ctrl+A 然后使用 n 浏览所有可用窗口,直到您想要显示的内容出现在分割窗格中。

您还可以使用 Ctrl+A 然后 | 创建垂直分割(这是一个竖线字符,或者 \< 的 Shift 选项)大多数键盘上的 键)。

让 GNU Screen 成为您自己的

GNU Screen 使用基于 Ctrl+A 的快捷键。根据您的习惯,这可能感觉非常自然,也可能非常不方便,因为无论如何您都使用 Ctrl+A 移动到行首。无论哪种方式,GNU Screen 都允许通过 .screenrc 配置文件进行各种定制。您可以使用以下命令更改触发器键绑定(称为“转义”键绑定):

escape ^jJ

您还可以添加状态行以帮助您在屏幕会话期间保持自己的方向:

# status bar, with current window highlighted
hardstatus alwayslastline
hardstatus string '%{= kG}[%{G}%H%? %1`%?%{g}][%= %{= kw}%-w%{+b yk} %n*%t%?(%u)%? %{-}%+w %=%{g}][%{B}%m/%d %{W}%C%A%{g}]'
 
# enable 256 colors
attrcolor b ".I"
termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'
defbce on 

在打开多个窗口的会话期间,始终提醒哪些窗口具有焦点活动以及哪些窗口具有后台活动特别有用。它是一种终端任务管理器。

下载备忘单

当您学习 GNU Screen 时,您将需要记住许多新的键盘命令。 有些您会立即记住,但您不经常使用的那些可能很难跟踪。您始终可以使用 Ctrl+A 然后 ? 访问 GNU 屏幕中的帮助屏幕,但如果您更喜欢可以打印出来并通过键盘保存的内容,下载我们的 GNU Screen 备忘单。

学习 GNU Screen 是使用您最喜欢的终端仿真器提高效率和敏捷性的好方法。试一试!

©2015-2025 艾丽卡 support@alaica.com