在2019年放弃GUI,仅利用终端将如何生活?

2019 年 7 月 10 日

在2019年放弃GUI,仅利用终端将如何生活?


当然,这可能很难,但,即使是在 2019 年,也有可能完全放弃图形界面。生活在 shell 里也是有明显好处的。我的电脑,即使是低功耗的那台,使用起来感觉也更快了(命令行软件往往比图形用户界面软件更轻巧、也更简洁)。此外,我可以免受图形桌面的干扰, 而集中精力完成更多的工作,这非常不错。


大约三年前,我曾尝试过完全依靠命令行生活 30 天 —— 在一个月的时间里,没有图形界面,没有 X Server,只有一个很大的旧终端和我。


我坚持了整整十天。


我为什么要这么做呢?究竟是什么会迫使一个人放弃现代图形桌面的“装潢”和功能,像被困在 20 世纪 80 年代初一样, 强迫自己只能使用基于文本的命令行软件呢?谁知道呢。显然,我的决定是存在争议的。


但说实话,这段经历并非完全令人不快。当然,我忽略了图形方面的一些细节,但生活在 shell 里也是有明显好处的。我的电脑,即使是低功耗的那台,使用起来感觉也更快了(命令行软件往往比图形用户界面软件更轻巧、也更简洁)。此外,我可以免受图形桌面的干扰, 而集中精力完成更多的工作,这非常不错。


下面这些是我在这命中注定的十天里最依赖的应用程序,它们可以分为几类。在某些情况下,我目前使用这些应用程序(或不止这些)的图形等价版。


坦白地说,没有 GUI(或多或少)正常生活是完全有可能的——即使是今天,也就是 2019 年。而且,这些应用程序使它成为可能——即使具有挑战性但仍有可能。


网页浏览


有很多的命令行 Web 浏览器。提到典型的命令行 Web 浏览器,首先映入我们脑海的是 Lynx 和 ELinks。它们两个都能很好地浏览基本的 HTML 网站。事实上,这样做的体验令人相当愉悦。当然,大多数网站都不能在“一切都是动态加载,Javascript thingamadoodle”的未来正常加载,但是那些能够正常加载的网站,加载速度更快,且不受干扰,阅读体验令人非常愉悦。


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



图 1 . 使用 w3m 浏览含有内嵌图片的维基百科


w3m 通过安装 w3m-img 包可以支持内嵌图片——说真的,这是一款在终端内支持内嵌图片的 Web 浏览器。未来就是这个样子。


它通过配置好的文本编辑器(如 nano 或 vim )输入表单文本,还使填写 Web 表单变得容易了——也许并不容易,但至少是可行的。第一次这样做时可能会感到有点奇怪,但它是非常简便。


电子邮件


电子邮件是另一种生活中无法摆脱的东西。幸运的是,早在现代图形电子邮件客户端(或 Webmail)出现之前,人们就已经在 UNIX/Linux 机器上互相发送电子邮件了。


想在终端上舒适地发送邮件,有几个诸如 Mutt 、Notmuch 之类的高品质软件可供选择,但在我看来,Alpine 更好些。到目前为止,它是最容易理解学习的。常用的热键显示在屏幕上(比如,按 R 键可回复选定的电子邮件),所有使用过图形电子邮件客户端或 Webmail 的人都可以立即识别整体布局和界面。



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


其他一些客户端(比如 Mutt)也非常优秀,但它们的学习曲线有些陡。


即时通讯


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


事实证明,确实存在这样的东西。它就是 Finch,是由创建 Pidgin 的人创建的。


它甚至还有一个很好的 TUI(文本用户界面),类似于 Pidgin 的 GUI。在不使用鼠标的情况下,在这个界面上进行导航刚开始时可能会有点混乱(Alt-N 会跳转到下一个“窗口”,Alt-P 会跳转回前一个“窗口”等等),因此,花几分钟学习键盘命令可以让你省去很多麻烦。


需要提醒你的是,这不是一个完美的解决方案。Finch 支持的一些协议要么已经失效了,要么即将失效(如 AOL Instant Messenger),但是它所支持的功能却出奇地好。


文字处理


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



图 3. WordGrinder 的文件菜单


WordGrinder 有一个简洁的界面(按 Escape 键将弹出一个包含所有可用功能和特性的全局菜单),速度极快,而且使用起来令人非常愉悦。


它甚至支持编写 ODT、HTML 和 LaTex,并且可以导入 ODT、HTML 和文本。它还有一些基本的格式化选项(如:斜体、粗体、下划线、边距),这对于基于终端的文字处理器来说是个惊喜。


电子表格


基于文本的电子表格程序并不新鲜。糟糕地是,传说中的 VisiCalc 有一个完全基于文本的用户界面,并且在那之后的十年里,大多数电子表格程序都是这样建立的。


同样地,在 Linux 终端上运行的电子表格的选项也很有限。


终端上最常用的选择是 sc(电子表格计算器)。它已经存在很长一段时间了,并且就其功能而言,它的工作效果非常好。在单元格中输入文本?检查。在带有计算选项的单元格中输入数字?再次检查。


如果想要打开在 LibreOffice 之类的工具上创建的电子表格呢?抱歉,那将很难实现。sc 使用了自定义的文件格式。为什么它不简单地默认使用 CSV 或其他一些标准化的、基于文本的电子表格格式呢?我也不能回答你。对此我也很困惑。


但幸运的是,sc 文件格式与 CSV 格式相差不大,互联网上的人们已经创建了各种脚本来实现两者之间的相互转换。这不是一个无缝的工作流,但是一旦我们学会了绑定的快捷键并在合适的位置上使用一些支持脚本来转换文件,sc 就可以使用了。


演示文稿


是的!你可以完全在终端上创建和播放演示文稿!它真的很管用!我的意思是,不会有任何图片,但在这个时代,谁还需要图片呢?


这个程序叫做“tpp”(文本演示程序),它几乎位于地球上的每个存储库中。与很多终端应用程序相比,它的要求更苛刻,因为它依赖于 Ruby,但是它仍然比任何图形演示程序更轻、更快。


无论你选择什么文本编辑器(我自己使用的是 nano),都可以创建演示文稿,并且它们以简单的标记语言来保存。它的学习曲线非常低。


所以,也许你不会用 tpp 给那些希望幻灯片上有丰富剪贴画的人做演示文稿,但是对于那些友好的“书呆子”观众呢?一篇不包含其他任何东西的纯文本演示文稿,也能赢得掌声。


文件管理


如果你学过了一些诸如 cp、mv 和 rm 这样的命令,在终端上复制文件并不难,但是拥有一个良好的界面来批量浏览和复制文件也是必须的。


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


音乐


cmus 应该是你想要使用的音乐播放器。它很轻,很快,也易于使用。它能支持任何你能想到的音频格式(从 MP3s、Oggs 到 MOD 、 SHN),以及流格式和播放列表。它简直是最好的选择了。


窗口管理


你仅依靠一个终端生活,并不意味着你需要放弃同时运行(和查看)多个应用程序。


在图形桌面上被称为窗口管理器的软件,在终端上被成为终端多路复用器——两者大致相同。


大多数人都在使用的终端多路复用器有三个:GNU Screen、TMUX 和 BYOBU。


对于大多数人来说,GNU Screen 和 TMUX 是可以相互替换的。一旦你熟悉了用于创建新“窗口”及移动“窗口”的快捷键,一切就都准备好了。


Byobu(它实际上利用了 Screen 和 TMUX)旨在提供更多的功能,它模拟了传统桌面环境的各个方面,并提供更多的视觉信息。但它确实比其他的两个更具有局限性。



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


就我个人而言,我更喜欢 TMUX,也几乎只使用它。你仅需要按照自己的喜好来选择就好,不过使用前先看下手册。否则,当你学习如何在应用程序之间切换时,会非常烦恼。


在 2019 年放弃 GUI,是真的吗?


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


不管怎样,拥有这些工具(即使只是在用 SSH 连接到服务器时使用)也是非常方便。


资料



原文链接


https://www.linuxjournal.com/content/without-gui-how-live-entirely-terminal


2019 年 7 月 10 日 15:4611518
用户头像

发布了 127 篇内容, 共 51.7 次阅读, 收获喜欢 315 次。

关注

评论 3 条评论

发布
用户头像
Sorry, I dislike it.
2019 年 07 月 26 日 13:21
回复
用户头像
这是处女情结的强迫症?
2019 年 07 月 12 日 10:52
回复
用户头像
拉倒吧,也就只能用来怀念了。
2019 年 07 月 10 日 17:25
回复
没有更多评论了
发现更多内容

极客时间架构 1 期:第 7 周 性能优化(一) - 命题作业

Null

第七周架构师训练学习笔记

郎哲158

极客大学架构师训练营

架构师训练营week07总结

FG佳

训练营第七周作业 1

仲夏

极客大学架构师训练营

Newbe.ObjectVisitor 样例 1

newbe36524

C# dotnet

AI会取代人类劳动吗?

脑极体

架构师训练营 2 期 - 第三周总结

Geek_no_one

极客大学架构师训练营

架构师训练营第二期 Week 3 作业

bigxiang

极客大学架构师训练营

你不好奇 CPU 是如何执行任务的吗?

小林coding

Linux cpu 操作系统 计算机基础

第3周作业-设计模式

Rocky·Chen

寻找性能更优秀的不可变小字典

newbe36524

C# dotnet

第七周命题作业

orchid9

架构师训练营第七周作业

郎哲158

极客大学架构师训练营

一期二班-吴水金-第五课总结

吴水金

寻找性能更优秀的动态 Getter 和 Setter 方案

newbe36524

C# dotnet

架构师训练营 1 期第 7 周:性能优化(一)- 作业

灵霄

极客大学架构师训练营

性能压测

橘子皮嚼着不脆

架构师训练营week07作业

FG佳

极客大学架构师训练营 week07

第七周 性能优化(1)

Galaxy数据平台

架构师训练营第三周总结

张浩

Architecture Phase1 Week7:HomeWork

phylony-lu

极客大学架构师训练营

架构师训练营 2 期 - 第 3 周命题作业

Geek_no_one

极客大学架构师训练营

架构师训练营第 1 期 week7

张建亮

极客大学架构师训练营

「架构师训练营第 1 期」第七周作业

张国荣

架构师训练营-单例模式

架构师训练营—第七周学习总结

orchid9

第七周总结

睁眼看世界

极客大学架构师训练营

架构师训练营第七周总结

月殇

极客大学架构师训练营

Newbe.ObjectVisitor 0.2.10 发布,更花里胡哨

newbe36524

C# dotnet

Fedora32安装MySQL8

ilovealt

MySQL Linux

架构师训练营第三周作业-手写单例模式

张浩

在2019年放弃GUI,仅利用终端将如何生活?-InfoQ