你好,Linux 又见面了
我的第一台 MacBook 是我真正喜欢的第一台电脑,但我不乐意购买新的。我决定践行自己的价值观并支持重视你所重视的事物的群体非常重要。
经过十年的忠实服务,去年终于到了我的 MacBook 退役的时候。没有多少笔记本电脑能用十年——没有多少公司能生产出像 Apple 那样耐用而精美的机器——但是,如果有一台可用,我愿意投资一台可能陪伴我度过未来十年的机器。十年间发生了很多变化——对于 Apple、Linux 和我自己来说都是如此——所以我开始四处看看。
情况在 2006 年之前,我只使用过 Windows。在那段时间前后,人们对即将推出的 Windows XP 的继任者感到非常焦虑,当时它的代号是 Project Longhorn。我的同事和我都很害怕它。所以,我没有经历所有这些麻烦,而是转而使用 Linux。
然而,我第一次使用 Linux 的体验并不好。尽管 2006 年是Linux 桌面元年(我几乎每天都在 Digg 上看到宣布这一点的头条新闻),但在擦除我全新的笔记本电脑硬盘以为 Fedora 让路之后,我很快就了解到,它可能还不是Linux 笔记本电脑元年。经过一个绝望而痛苦的周末,我终于让我的无线网卡工作了,但最初的创伤让我心有余悸。所以,大约一年后,当我决定辞掉工作并尝试数字游民自由职业时,我买了一台 MacBook。花一天时间寻找驱动程序文件或重新编译我的内核就意味着一天没有赚钱。我需要 Apple 正在销售的保证和便利。事实证明这是一项伟大的投资。
在接下来的十年里,我涉猎了 Linux。每一年似乎都是 Linux 桌面元年——真正的那一年,终于来了——所以在我在公司的工作台上(自由职业没多久就不好玩了),我安装了 Ubuntu,然后是 Debian,然后是 FreeBSD。本刊的一篇文章向我介绍了平铺窗口管理器,特别是 DWM。第一次我对我的 MacBook 感到有些失望是在第一次在 Debian 上使用 DWM 之后。
多年来,随着我的 MacBook 的硬件故障变得越来越不方便,以及我对软件的个人偏好从大型精美的图形应用程序转向小型命令行程序,Linux 开始看起来更具吸引力。而且,Linux 的硬件兼容性已经扩大——公司甚至开始销售预装 Linux 的笔记本电脑——所以我相当肯定我不需要再浪费一个周末来与损坏的无线连接作斗争,或者冒着用配置错误的 Xorg.conf 烧坏我的显示器的风险。
所以我看了戴尔和 ThinkPad,但 Apple 的硬件已经把我宠坏了。我想要一台感觉坚固、工作可靠、外观优雅酷炫、也许我可以自己维修和升级,并且可能陪伴我再用十年的机器。我发现的没有一款能完全满足我的需求。System76 最接近,我几乎买了一台,但后来一位同事建议我看看 Purism。我爱上了它,买了一台 Librem 13。它真是太棒了。
所以,这就是我现在正在使用的。
硬件我的印象是,激发信心——既包括机器的稳定性和可靠性,也包括其对您的数据的处理和对您隐私的尊重——是 Purism 的驱动设计指令。
这绝对是我用过的感觉最好的笔记本电脑。有些笔记本电脑非常薄而轻,感觉很脆弱。Librem 不是。它比我的旧 MacBook 更薄更轻,但感觉非常结实耐用。即使是屏幕上的铰链也足够紧,以至于当我移动机器时,它几乎不会晃动。
按键按下和弹起,并且从背面点亮。触控板默认识别单指和双指点击,并且,正如我现在使用的那样,识别右下角和中间区域的点击为右键和中键点击,这在某些情况下非常有用。
而且,屏幕具有哑光表面。我想知道我是如何在光面屏幕上坚持这么久的。
另外,它很漂亮。顶部没有徽标,机身上没有贴纸。在其他机器上可能显示 Windows 徽标的键反而显示了一个粗略的矩形轮廓(恰好是 Purism 的品牌)。我身上喜欢现代主义、极简主义设计的那部分对 Librem 的黑匣子美学非常满意。
它是否完美,甚至在各个方面都比 MacBook 更好?当然不是。例如,沿着屏幕框架有六个小橡胶脚垫,当笔记本电脑关闭时,它们会接触底座。在 MacBook 上,有一条细细的橡胶线围绕框架一圈,这既使其不那么引人注目,也可能减少关闭时的灰尘等。Apple 的 MagSafe 电源适配器比标准插头更好。而且,Apple 的触控板驱动程序似乎更精致——至少它从不卡顿,也不会在我以某种方式移动手指后才恢复跟踪。此外,手指油脂更容易出现在按键上。另一方面,我现在比以前更频繁地清洁键盘,所以你可以认为这更多的是一个功能而不是一个错误。但这些都是小抱怨。总的来说,这是一种卓越的体验。当我使用公司的 MacBook Air 时,感觉就像一种倒退。
知道当我需要维修或修理它时,我自己就能处理,这也很好。大约在我的 MacBook 的寿命过半时,它的硬盘驱动器坏了。Apple Store 告诉我,恢复和更换将花费超过 1,000 美元,并且需要大约两周时间。所以我找到了一位当地的数据恢复专家,他以一半的成本在三天内完成了这项工作。我不确定 Apple 是否允许他们较新的笔记本电脑的所有者再这样做。
软件PureOS,PureBrowser
Librem 预装了 PureOS。它基于 Debian,默认使用 GNOME 3,并带有其自己的 Firefox 定制版本,名为 PureBrowser。

图 1. 在 Librem 13 上的 PureOS 上运行的 PureBrowser
显然,其他发行版也可以在硬件上运行,但我没有找到切换的理由。我也无需安装不同的浏览器。
i3,st,Dunst
但是,我已经从 GNOME 切换到 i3。就像我的 MacBook 用硬件宠坏了我一样,DWM 用窗口管理器宠坏了我。而且,尽管 GNOME 很棒,但我并没有为了 GNOME 而切换到 Linux。吸引我的很大一部分是一个快速且整洁的环境,图像和动画更少,但更多的是键盘和命令行驱动,更可定制和方便的东西。我可以自己定制的东西。

图 2. i3 显示一个浮动窗口
您可能对我的环境外观印象不深——我主要只是复制了 Acme 颜色——但有些人投入了大量工作来使他们的环境 看起来性感。
如果您不熟悉 i3 或平铺窗口管理器,那么有很多 视频 。但总的想法是,当您打开一个新窗口时,窗口管理器会放置它并调整其大小以优化屏幕上的空间。因此,一个窗口将占据整个屏幕,两个窗口将均匀分割,依此类推。没有花哨的窗口边框或阴影,没有标题栏或按钮来最小化或关闭它。相反,有用于打开和关闭窗口、将它们折叠成堆叠或选项卡式组、用于浮动和调整它们大小、调用自定义脚本等等的键盘快捷键。而且,您可以决定这些快捷键是什么。如果您想添加一个热键来打开您的 Web 浏览器或文本编辑器或锁定您的屏幕,您可以这样做。
除非您指定其他程序,否则新窗口将使用您的终端模拟器打开。为此,我目前正在使用 st,它很好,并且非常适合此模型,因为它不包含用于选项卡等的内置功能。(自从切换回 Linux 以来,我了解到 Suckless 组织在互联网上受到了很多批评。但我尊重他们和他们的目标,即使我没有使用他们所有的产品。)
我希望在我的机器上看到更少的一件事是通知。在过去的几年里,我每天看到的通知数量似乎呈爆炸式增长——升级通知、提供新功能导览的通知、我不采取任何操作就无法关闭的通知。我现在几乎看不到任何通知,而且由于 Dunst 易于定制,它们现在在我的环境中看起来很棒。

图 3. Dunst 显示三个通知
切换到 i3 并非完全没有痛苦。首先,触控板的滚动方向反转了(Apple 多年前就正确地反转了它 。但修复它只是在我的 ~/.Xmodmap 文件中添加一行代码的事情。而且,更改屏幕亮度和扬声器音量的按键停止工作了,但这些也很容易修复。

图 4. i3 的一些键盘修复
这次体验是有益的。这在编程方面算不上什么丰功伟绩,但在修复了我的亮度键之后,我感觉自己既学到了一些东西,也完成了一些事情。太多的这类问题就不好玩了,但这就是我遇到的所有问题。而且成本非常值得收益。特别是如果您是任何类型的开发人员,这些具有简单解决方案的小问题可以为您提供接触新想法和可能超出您领域的不熟悉事物的宝贵机会。
此外,它让我想起了一点玩乐高积木。如果您喜欢摆弄,Linux 非常棒。考虑到所有这些可以组合在一起的部件,您可以调整比其他系统中更多的体验方面,从美学到工作流程。如果缺少您想要的某些部件,您可以自己制作。
dmenu(和脚本)
除了 Emacs 之外,dmenu 是我正在使用的最多功能的工具,也是我在使用其他系统时最想念的工具。
dmenu 是一个简单的程序:它打开一个窗口,其中包含一个文本输入区域(带有可选提示)和一个列表。您可以通过键入来过滤列表;您可以使用箭头键移动选择指示器,并且可以通过按 Enter 键选择项目。选定的项目将返回到打开 dmenu 的进程。就这样。但它的简单性使其非常有用。它是 UNIX 哲学在实践中的一个极好的例子——它做好一件事,它与文本流一起工作,并且它与其他程序配合良好——它是我最喜欢的 Suckless 项目。
如果您从未使用过它,这里有一个 关于 dmenu 的良好视频。
程序 dmenu_run
将创建一个 dmenu,列出您的 $PATH
中的可执行项目,并运行您选择的项目。这可能是 dmenu 经常被认为是程序启动器的原因,但这只是它可以做的一件事。例如,您可以使用它来退出 i3。

图 5. 使用 dmenu 退出 i3 的脚本
您可以使用它来 挂载 和 卸载 驱动器。您可以在 自定义命令链 中使用它,通过脚本将来自数据库的值读取、过滤和管道传输到任意应用程序。或者,如果您宁愿只将其用作启动器,但不认为自己会以这种方式使用它来运行,例如 test
,您可以编写一个脚本,将选项限制为您喜欢的图形应用程序。

图 6. 通过 dmenu 启动您喜欢的 GUI 应用程序的脚本
clipmenu
在我的 MacBook 上,我使用了 Flycut,我不想没有剪贴板管理器。
clipmenu 是一个使用 dmenu 的剪贴板管理器。要使用它,您调用该程序,选择您想要粘贴的项目,然后使用标准方法粘贴它。

图 7. clipmenu 显示按“Suck”过滤的项目
Linux 提供了比 macOS 更多复制和粘贴的方法。起初,我认为这太复杂了,但我只是不知道如何正确使用它们。macOS 提供一个剪贴板缓冲区;Linux 提供三个。一个的行为与您预期的一样,但还有另一个(称为主选择),它允许您复制和粘贴,而无需替换剪贴板缓冲区中的内容。(显然,还有一个辅助选择,但我不知道如何使用它。)主选择缓冲区存储您最近选择的文本,您可以通过在您想要粘贴它的位置单击鼠标中键来复制它。它非常方便。
我切换回来后不久发现的另一个痛点是,Linux 的图形程序使用 Microsoft 键约定进行复制和粘贴(Ctrl-C 复制,Ctrl-X 剪切,Ctrl-V 粘贴)。这很不幸,因为 Control 键用于在 shell 中发送信号——Ctrl-C 发送中断信号,这通常会杀死您正在运行的程序或取消您键入的命令——因此存在冲突。这意味着这些复制和粘贴键不能在整个系统中一致地使用。macOS 以这些方式使用 C、X 和 V,但与 Command 键而不是 Control 键结合使用,从而避免了这个问题,并在 shell 和任何地方实现了始终如一的复制和粘贴行为。
但是,我还发现按下 Shift-Insert 将粘贴剪贴板缓冲区的内容,并且它将在 GUI 和 shell 中都这样做。所以现在我主要使用它。并且我已经将 clipmenu
绑定到 Super-Insert,所以它既好又助记。
但在实践中,我现在使用剪贴板的频率要低得多,这既要归功于主选择,也要归功于我编写的一个小工具:类似 Plumber 的东西。
通常我会复制和粘贴一些文本,不是因为我想在文档中移动它,而是因为我想对它执行操作——就像从电子邮件中复制 URL 到浏览器中一样。这并不总是理想的。例如,要在牛津英语词典中查找一个单词,这需要选择该单词,复制它,切换到我的浏览器,转到OED 的网站,扫描 UI 以查找搜索栏,粘贴单词,提交表单,最后,登陆包含定义的页面。步骤太多了。如果我可以直接将单词管道传输到网站并查看结果页面,那就更好了。
因此,从 Plan 9 的 Plumber 中汲取灵感,我编写了一个松散而简单的系统,可以实现 廉价的模仿。它使您能够选择一些文本,调用 plumber,选择应该接收文本的脚本,然后随心所欲地处理它——比如将一个单词直接管道传输到您最喜欢的词典。

图 8. Plan 9 的 Plumber 的廉价模仿
cmus
对于音乐,我正在使用 cmus。这与 iTunes 相比是一个很大的变化,而且在很大程度上是好的方面。首先,它速度很快,而且也不是商店。另一方面,我有时会想念看到专辑封面。而且,我仍然没有找到我喜欢的元数据编辑器。也许我会写一个。

图 9. cmus
sxiv,mupdf
对于查看图像和 PDF,我正在使用 sxiv 和 mupdf。两者都简单、键盘控制、快速且易于使用。

图 10. sxiv 和 mupdf
sxiv 有一个很酷的功能:您可以通过自定义键盘快捷键调用 自定义外部命令。因此,例如,如果您有用于调整大小或旋转图像的脚本,在 sxiv 的缩略图模式下,您可以选择您想要操作的图像,通过您定义的热键调用脚本,重新加载图像(按 R),并立即看到结果。
Emacs
Emacs 对于文本编辑来说就像 Web 浏览器对于查看 HTML 一样。我已经使用它大约 12 年了。我对它了解得越多,我就越喜欢它。

图 11. Emacs
最初让我觉得 Librem 键盘奇怪的一件事是不对称性:只有一个 Super 键,在左侧,而在右侧可能与其对应的位置上是一个 Menu 键。据我所知,我从来没有用过带有这个键的键盘,但 Emacs 将其解释为 M-x,它使用 M-x 作为许多命令的前缀。这是一个非常方便的功能。
isync 和 Notmuch
isync 是一个用于同步邮箱的程序。它易于配置且运行速度快,但这就是它的全部功能。对于组织、搜索、查看和编写电子邮件,我正在 Emacs 中使用 Notmuch。在文本编辑器而不是 Web 浏览器中编写、发送和查看电子邮件的乐趣真是怎么强调都不为过。为了协调 isync 和 Notmuch,我运行了一个 脚本。
一些实用工具
- 对于截取屏幕截图,scrot 非常棒。您可以选择一个区域、一个窗口、指定文件名和类型、延迟秒数等等。
- grabc 非常适合拾取颜色。它将指针变成十字准线,当您单击时,它会以十六进制和 RGB 格式打印颜色。
- xbanish 在您开始键入时隐藏光标。
- 在撰写本文时,我不小心删除了我的主目录。我不打算讨论随后发生的噩梦,但在惊慌失措之后,我安装的第一件事是 trash-cli,我已经将其别名为
rm
。这种安全性非常值得偶尔需要清空回收站带来的不便。
调整期肯定涉及一些工作,但绝对是值得的。我喜欢我的笔记本电脑。我已经很久没有这样说了。
当然,从表面上看,我的系统看起来像我想要的那样很好。但更重要的是,我对我的投资感觉良好。当我看到关于 Apple 阻止用户维修其产品的权利的头条新闻时,我不再感到内疚。践行自己的价值观并支持重视你所重视的事物的群体非常重要。Purism 显然重视用户权利和隐私。System76 正在美国制造其 Thelio 台式机,并种植树木以抵消环境影响。这些公司正在做好事。我很高兴从中受益。
资源- Librem 13
- i3,改进的平铺窗口管理器
- st—简单终端
- Dunst,通知守护程序的轻量级替代品
- clipmenu,使用 dmenu 的剪贴板管理
- cmus,用于类 Unix 操作系统的轻巧、快速且功能强大的控制台音乐播放器
- sxiv,Simple X Image Viewer
- mupdf,轻量级 PDF、XPS 和电子书查看器。
- isync,免费的 IMAP 和 MailDir 邮箱同步器
- Notmuch,只是一个电子邮件系统
- scrot,SCReenshOT—命令行屏幕截图实用程序
- grabc,用于识别 X Window System 屏幕的像素颜色的命令行工具
- xbanish,在键入时隐藏鼠标光标,在鼠标移动时再次显示它
- trash-cli,freedesktop.org 回收站的命令行界面