使用 GNU Screen 的小技巧
创始人
2024-03-02 07:21:02
0

学习基本的 GNU Screen 终端复用技术,然后下载我们的终端命令备忘录,以便你能够熟悉常用的快捷方式。

对于一般用户而言,命令行终端窗口可能是令人困惑和神秘的。但随着你对 Linux 终端的进一步了解,你很快就会意识到它的高效和强大。不过,也不需要很长时间,你就会想让终端变得更加高效,除了将更多的终端放到你的终端,还有什么高好的方法能够提升你的终端效率呢?

终端复用

终端的许多优点之一是它是一个集中控制的界面。它是一个能让你访问数百个应用程序的窗口,而你与每一个应用程序进行交互所需要的只是一个键盘。但是,现代计算机几乎总是有多余的处理能力,而且现代计算机专家喜欢多任务处理,导致一个窗口处理数百个应用程序的能力是相当有限的。

解决这一问题的常见答案是终端复用:即将虚拟终端叠放在一起,然后在它们之间移动的能力。通过终端复用器,你保持了集中控制,但是当你进行多任务时,你能够进行终端切换。更好的是,你能够在终端中拆分屏幕,使得在同一时间显示多个屏幕窗口。

选择合适的复用器

一些终端提供类似的功能,有标签式界面和分割式视图,但也有细微的差别。首先,这些终端的功能依赖于图形化的桌面环境。其次,许多图形化的终端功能需要鼠标交互或使用不方便的键盘快捷键。终端复用器的功能在文本控制台上和在图形桌面上一样好用,而且键位绑定是针对常见的终端序列设计的,很方便。

现有两种流行的复用器:tmuxGNU Screen。尽管你与它们互动的方式略有不同,但它们做同样的事情,而且大多具有相同的功能。这篇文章是 GNU Screen 的入门指南。关于 tmux 的相关介绍,请阅读 Kevin Sonney 的 tmux 介绍

使用 GNU Screen

GNU Screen 的基本用法很简单,通过 screen 命令启动,你将进入 Screen 会话的第 0 个窗口。在你决定需要一个新的终端提示符前,你可能很难注意到有什么变化。

当一个终端窗口被某项活动占用(比如,你启动了文本编辑器 VimJove 或者你在处理音视频,或运行批处理任务),你可以新建一个窗口。要打开一个新的窗口,按 Ctrl+A,释放,然后按 c。这将在你现有窗口的基础上创建一个新的窗口。

你会知道当前你是在一个新的窗口中,因为你的终端除了默认的提示符外,似乎没有任何东西。当然,你的另一个终端仍然存在,它只是躲在新窗口的后面。要遍历打开的窗口,按 Ctrl+A,释放,然后按 n(表示下一个)或按 p(表示上一个)。在只打开两个窗口的情况下, np 的功能是一样的,但你可以随时打开更多的窗口(Ctrl+A,然后 c ),并在它们之间切换。

分屏

GNU Screen 的默认行为更像移动设备的屏幕,而不是桌面:你一次只能看到一个窗口。如果你因为喜欢多任务而使用 GNU Screen ,那么只关注一个窗口可能看起来是一种退步。幸运的是,GNU Screen 可以让你把终端分成窗口中的窗口。

要创建一个水平分割窗口,按 Ctrl+A,然后按 s 。这将把一个窗口置于另一个窗口之上,就像窗格一样。然而,在你告诉它要显示什么之前,分割的空间是没有用途的。因此,在创建一个分割窗后,你可以用 Ctrl+A ,然后用 Tab 移动到分割窗中。一旦进入,使用 Ctrl+A 然后 n 浏览所有可用的窗口,直到你想显示的内容出现在分割窗格中。

你也可以按 Ctrl+A 然后按 | (这是一个管道字符,在大多数键盘上通过按下 shift 键加上 \)创建垂直分割窗口。

自定义 GNU Screen

GNU Screen 使用基于 Ctrl+A 的快捷键。根据你的习惯,这可能会让你感觉非常自然,也可能非常不方便,因为你可能会用 Ctrl+A 来移动到一行的开头。无论怎样,GNU Screen 允许通过 .screenrc 配置文件进行各种定制。你可以用这个来改变触发键的绑定(称为 “转义” 键绑定)。

escape ^jJ

你还可以添加一个状态行,以帮助你在 Screen 会话中保持自己不迷失。

# 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 Screen 的帮助界面,但如果你更喜欢一些可以打印出来并放在键盘边的东西,请 下载我们的 GNU Screen 备忘单

学习 GNU Screen 是提高你使用你最喜欢的 终端模拟器 的效率和敏捷性的一个好方法。请试一试吧!


via: https://opensource.com/article/21/4/gnu-screen-cheat-sheet

作者:Seth Kenlon 选题:lujun9972 译者:ddl-hust 校对:wxy

本文由LCTT 原创编译,Linux 中国荣誉推出

相关内容

武汉:到2027年打造4款...
钛媒体App 1月15日消息,武汉市人民政府办公厅发布关于印发武汉...
2026-01-16 06:45:22
光弘科技:在AI相关领域与...
有投资者在互动平台向光弘科技提问:“请问公司在AI应用领域,有哪些...
2026-01-07 06:17:46
“全球科技春晚”上演AI终...
作者 | 黄昱 编辑 | 周智宇 ChatGPT掀起AI大模型浪潮...
2026-01-06 10:18:10
AI眼镜距离“随身终端”还...
进入2026年,被寄予“下一代智能终端”厚望的AI眼镜,能否突围成...
2026-01-02 07:16:45
深夜!茅台放大招:1499...
【导读】1499买飞天茅台,每人每天限购12瓶 中国基金报记者 泰...
2026-01-01 06:44:47
年终盘点|AI入端 让技术...
(记者 陈晓晟)即将过去的2025年,我国AI终端产业实现了跨越式...
2025-12-29 20:45:53

热门资讯

如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Textual:为 Pytho... 快速入门使用 TextualPython 在 Linux 上有像 TkInter 这样的优秀 GUI...
硬核观察 #1245 Open... #1 OpenAI 悄然删除禁止将 ChatGPT 用于 “军事和战争” 的禁令在 1 月 10 日...
使用时间序列数据,用开源工具助... InfluxData 是一个开源的时间序列数据库平台。下面介绍了它是如何被用于边缘应用案例的。收集到...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
硬核观察 #1249 LG 洗... #1 LG 洗衣机每天上传近 4GB 的数据?一个名为 Johnie 的 LG 洗衣机用户发现,他的...
2024 年 Linux 和开... 让我们尝试预测未来吧!新的一年快乐,朋友们 ✨2024 年的钟声已经敲过,我们有必要去预见一下将塑造...