没有图形界面--如何在终端中完全生活

作者:Bryan Lunduke

当然,这可能很困难,但完全放弃图形界面——即使在 2019 年——也是可能的。

大约三年前,我尝试完全在命令行上生活 30 天——没有图形界面,没有 X Server,只有一个老式终端和我,持续一个月。

我坚持了整整十天。

我为什么要尝试这个?究竟是什么驱使一个人放弃现代图形桌面的所有装饰和功能,反而人为地限制自己只使用基于文本的命令行软件,仿佛他被困在 20 世纪 80 年代早期?

谁知道呢。显然,我做出了值得怀疑的决定。

但你知道,如果我说实话,这种体验并非完全不愉快。当然,我怀念图形界面带来的一些便利,但在 shell 中生活也有一些明显的好处。我的电脑,即使是低功耗的电脑,也感觉更快了(命令行软件往往比那些带有图形用户界面的软件更轻巧)。此外,我可以集中精力完成更多工作,而不会受到图形桌面的所有干扰,这还不错。

以下是我在那命运攸关的十天里发现自己最依赖的应用程序,并按类别进行了划分。在某些情况下,这些应用程序是我目前正在使用或补充使用的图形等效程序。

老实说,即使在今天,2019 年,完全没有 GUI(或多或少)地生活是完全可能的。而且,这些应用程序使之成为可能——具有挑战性,但有可能实现。

网页浏览

存在许多命令行网页浏览器。经典的 Lynx 通常会浮现在脑海中,ELinks 也是如此。两者都能够很好地浏览基本的 HTML 网站。事实上,这样做体验相当愉快。当然,大多数网站都无法在我们生活的“一切都是动态加载的 JavaScript 小玩意”的未来中正常加载,但那些可以加载的网站加载速度很快,并且没有干扰,这使得阅读它们非常愉快。

但就我个人而言,我推荐 w3m。

w3m

图 1. 使用 w3m 浏览带有内联图像的维基百科

w3m 支持内联图像(通过安装 w3m-img 软件包)——说真的,一个带有图像支持的网页浏览器,就在终端内部。未来已来。

它还可以轻松填写网络表单——好吧,也许不是容易,但至少是可行的——通过打开配置的文本编辑器(如 nano 或 vim)来输入表单文本。第一次这样做感觉有点奇怪,但它出奇地直观。

电子邮件

电子邮件是您根本离不开的另一件事。幸运的是,早在现代图形电子邮件客户端(或网络邮件)出现之前,人们就已经从 UNIX/Linux 机器上互相发送电子邮件了。

有几个高质量的选项可以从舒适的终端发送邮件(包括 Mutt 和 Notmuch),但就我而言,没有比 Alpine 更好的了。到目前为止,它是最平易近人和最容易学习的。常见的快捷键直接显示在屏幕上(例如,按 r 回复选定的电子邮件),并且对于任何使用过图形电子邮件客户端或网络邮件的人来说,整体布局和界面都将立即被识别。

Alpine

图 2. Alpine 电子邮件客户端主菜单

其他一些客户端(如 Mutt)也非常出色,但它们的学习曲线稍陡峭一些。

即时通讯

如果有一个像 Pidgin 这样的东西,但完全基于命令行,那不是很好吗?它可以支持多种聊天协议(如 IRC、XMPP 等),并允许您同时与多人聊天?

事实证明确实有。它叫做 Finch,由 Pidgin 的开发者制作。

它甚至有一个不错的 TUI(文本用户界面),在某种程度上模仿了 Pidgin 的 GUI。在没有鼠标的情况下浏览该界面一开始可能会有点令人困惑(Alt-N 转到下一个“窗口”,Alt-P 转到上一个,依此类推),因此花几分钟学习键盘命令将为您节省很多挫败感。

这不是一个完美的解决方案,请注意。Finch 支持的一些协议要么已经死亡,要么正在消亡(例如 AOL Instant Messenger),但是现有的支持效果出奇地好。

文字处理

WordGrinder 是您一直在寻找的基于终端的文字处理器。

WordGrinder

图 3. WordGrinder 中的文件菜单

WordGrinder 具有简单的界面(按 Escape 键调出包含所有功能和特性的全局菜单),速度非常快,并且写起来非常愉快。

这玩意甚至支持写入 ODT、HTML 和 Latex,并且可以导入 ODT、HTML 和文本。甚至还有一些基本的格式选项(斜体、粗体、下划线、边距),这对于基于终端的文字处理器来说有点令人惊讶。

电子表格

基于文本的电子表格程序并不新鲜。实际上,传说中的 VisiCalc 具有完全基于文本的用户界面,此后十年内构建的大多数电子表格程序也是如此。

同样,在 Linux 终端中运行时,电子表格选项...有限。

最常用的选项被称为 sc(电子表格计算器)。它已经存在很长时间了,并且运行得非常好——对于它所做的事情。在单元格中输入文本?检查。在单元格中输入带有某些计算选项的数字?再次检查。

想要打开在 LibreOffice 之类的软件中创建的电子表格?嗯,你可能会完全倒霉。sc 使用自定义文件格式。为什么不简单地默认使用 CSV 或其他一些标准化的、基于文本的电子表格格式呢?我无法告诉你。这也让我感到困惑。

但幸运的是,sc 文件格式与 CSV 相差不远,互联网上的人们创建了各种脚本来帮助在两者之间进行转换。这不是一个无缝的工作流程,但 sc 是可用的——一旦您学习了快捷键并获得了一些支持脚本来转换文件。

演示文稿

是的!您可以完全从终端创建和进行演示文稿!它真的有效!我的意思是,不会有任何图像,但是在这个时代谁需要图片呢?

该程序称为“tpp”(文本演示程序),几乎在地球上的每个存储库中都有。它比许多终端应用程序的要求略高,因为它依赖于 Ruby,但它仍然比任何图形演示程序都更轻巧、更快。

演示文稿是在您选择的任何文本编辑器中创建的(我个人使用 nano),并且它们以一种简单的 markdown 语言保存。它的学习曲线非常低。

所以,也许您不会使用 tpp 向一群期望幻灯片上有大量剪贴画的人进行演示,但是对于一个友好的、书呆子的观众来说?纯粹基于文本的演示文稿,即使不能让您赢得一些赞誉。

文件管理

一旦您学习了一些命令(如 cpmvrm),在终端中复制文件并不难,但是拥有一个漂亮的界面来批量浏览和复制文件是绝对必要的。

在我看来,最好的选择是 Midnight Commander,也简称为 mc。mc 是著名的 Norton Commander 文件浏览器的开放“克隆”版本,是我在新 Linux 系统上安装的首批应用程序之一。它简直是终端文件管理之王。

音乐

cmus 是您想要使用的音乐播放器。它轻巧、快速、易于使用。它支持您可能想要的几乎任何音频格式(从 MP3 和 Ogg 到 MOD 和 SHN),以及流媒体格式和播放列表。它就是...最好的。

窗口管理

仅仅因为您生活在终端中,并不意味着您需要放弃同时运行(和查看)多个应用程序。

在图形桌面中称为窗口管理器的东西,在终端中称为终端复用器——大致相同的想法。

大多数人倾向于使用三种终端复用器:GNU Screen、tmux 和 Byobu。

对于大多数人来说,GNU Screen 和 tmux 在很大程度上是可以互换的。一旦您弄清楚了用于创建新“窗口”并在它们之间移动的快捷键,就一切就绪了。

Byobu(实际上在幕后利用 Screen 和 tmux)旨在功能更全面,模拟传统桌面环境的各个方面,并提供更多视觉信息。尽管它确实往往比其他程序更挑剔。

Byobu

图 4. 在 Byobu 中打开的三个终端“窗口”

就我个人而言,我喜欢 tmux 并且几乎专门使用它。只是帮自己一个忙,先仔细阅读手册页。否则,当您学习如何在应用程序之间切换时,您最终可能会拔掉不少头发。

真的吗?没有 GUI?在 2019 年?

说真的,这是可行的。当然,存在一些痛点——而且是一些相当大的痛点。但是,它也有一些神奇之处。再说一遍,也许那只是我大脑中的怀旧中心在说话。

无论如何,拥有这些类型的工具(即使只是在 SSH 连接到服务器时使用)也确实很方便。

资源

Bryan Lunduke 曾任软件测试员、程序员、技术副总裁、Linux 营销人员 (tm)、openSUSE 董事会成员... 现任Linux Journal副编辑、Purism 营销总监,以及热门Lunduke Show的主持人。更多详情:http://lunduke.com

加载 Disqus 评论