在我的MacBook上运行Linux

2020-06-08 14:56:53

这是另一个这样的帖子,这是Linux桌面辩护者们渴望向世界证明他们为什么要做事情的地方。

好了,几周前,我在我的Macbook Pro(2015年初款)上安装了Fedora32。在这篇文章中,我希望记录下我一路上发现的陷阱、陷阱和快乐时刻,以及我已经忍耐的烦恼。

我会在这篇文章的前言中说,我遇到的大多数问题都归结于我所使用的设置的极简主义本质。所以不要认为这是对Fedora/Linux的反映,我怀疑GNOME的默认设置要少得多。

改变的主要原因是一个杀手级的应用程序:i3窗口管理器。键盘快捷键、平铺窗口、闪电般的使用速度--感觉就像是为经常修补和使用计算机的人设计的一款软件。

..而且使用它通常都是一种乐趣。我最喜欢的功能是“便签簿”,你可以通过键盘快捷键在同一工作空间中调出和关闭一个窗口。我通过FUSE安装了一些我编写的自定义笔记软件,这绝对是一次轰动。写笔记是一种乐趣,因为上下文切换是最小的。

网络浏览器作为一个平台的迅速崛起让我意识到,我实际上不再使用那么多本地GUI软件了。我在OSX上使用的似乎只有一个网页浏览器、Visual Studio代码和一个通过一组点文件配置了大量CLI/TUI软件的终端。

我本质上是个超级游戏迷,但我有幸拥有一台结实的游戏机和一套游戏机来满足这一需求,所以我真的不能对Linux在这方面的支持发表评论。

因此,对于我的大多数用例来说,切换操作系统并不是很大的障碍。

一开始,安装有点让人焦虑,因为我不想搞砸Mac的引导分区,以防出了点问题,而且我花了一段时间才能找出干净的方法来做这件事。

谢天谢地,Alex Dzyoba写了一篇关于为双引导创建适当分区的出色文章。

一旦做到这一点,大部分情况下似乎都能奏效。Wi-Fi起作用了,声音起作用了,所以我安装了i3,应用了我的点文件,然后就开始工作了。

我遇到的第一个问题是试图让键盘设置与Macbook布局一起工作,特别是在GB本地化键盘上,并对其进行调整,以识别我喜欢切换Caps Lock和Ctrl。

此外,有时我会把笔记本电脑扔到桌子上,然后把它插到一个外接键盘(不是苹果品牌的)上,当我插上它时,这也需要额外的调整,因为出于某种原因,Alt/Windows键被调换了。

这花了一段时间才达到这些设置,但我对它们很满意。

从OSX迁移到Linux意味着在键盘快捷键上丢弃了10年的肌肉记忆。Cmd+C,Cmd+V剪贴板如果没有大量的修补工作就不能工作,这对我来说似乎是不值得的。拉开创可贴吧,总有一天会发生的。

所以我不得不训练自己重新使用Ctrl键作为修改键,这一开始很棘手,但我适应得如此之快令人惊讶。最烦人的部分是在复制/粘贴到终端时必须记住按Shift键。

正如前面提到的,我经常将笔记本电脑连接到外部显示器上,就像调整键盘一样,这需要很大的努力。首先,我把笔记本电脑放在外置显示器下方,这样布局就像是在上面/下面。我花了很长时间才找到合适的xrandr设置来支持这一点。每次我试一试,上面的显示器都会流到下面的笔记本电脑屏幕上。

最终,我找到了优秀的工具arandr,它提供了一个GUI界面来生成适当的设置。

不幸的是,我还没有找到一种在拔下/插上显示器时自动应用这些设置的方法,所以我必须编写一个脚本来在切换时运行(其中还包括上述setxkbmap设置)。

xrandr--输出eDP1--主--模式2560x1600--位置640x2400\--旋转法线--输出DP1--比例2x2--模式1920x1200--位置0x0\--旋转法线。

要让所有东西都在笔记本电脑上很好地缩放,需要付出一些努力,但谢天谢地,Doug Beney写了一个很好的指南,很容易实现。

改变屏幕亮度这样简单的事情很容易被认为是理所当然的,但我花了一段时间才弄明白这一点。谢天谢地,使用了这篇askubuntu帖子中的指导,并设置了一些i3wm配置设置,我能够使亮度键大致按照您预期的方式工作。

关上笔记本电脑的盖子应该会暂停操作系统,但这似乎永远不会起作用,第二天早上我经常会发现我的电脑处于热恐慌状态,还有30分钟的电池电量。

要解决这个问题,多亏了Josh Sherman的一篇出色的帖子,您需要防止USB控制器唤醒系统。

不幸的是,您需要在每次引导时应用此设置,因此我编写了一个systemd服务和脚本来启用此设置。

这可能是切换过程中最令人沮丧的部分。我长期以来一直是Firefox的粉丝,特别是像树形标签这样的扩展,它为我囤积标签的恶习起到了推波助澜的作用。

不幸的是,在Linux上,这只是狗屎,绝对是狗屎。很慢,需要很长时间才能启动,网站呈现得非常慢,在标签之间切换感觉非常昏昏欲睡,就像狐狸身上的火已经熄灭了一样。

我尝试了所有方法来修复它,改变了一些东西:配置、尝试Firefox Nighly和启用WebRender,但似乎都不起作用。

与之形成鲜明对比的是,谷歌Chrome的速度非常快,它真的是日日夜夜,所以对于我的Linux尝试来说,遗憾的是,我现在不得不选择大G。

红移,就像OSX的f.lux,意味着我的眼睛在晚上不会被灼伤。

Dropbox非常容易设置,特别是在添加systemd服务时(这要归功于Joe Roback)。

i3wm非常好用,在工作区之间切换、移动窗口以及习惯平铺都是一条学习曲线,但这意味着我使用鼠标的次数要少得多。

额外的好处就是感觉一切都有多快,这可能只是一个感知问题,但有时感知很重要。

注意:我知道swaywm与i3的配置兼容,并且在Wayland上运行。我试过了,它看起来很整洁,可能会解决上面描述的键盘/显示器问题,但在我的Retina显示屏上,Chrome看起来真的很模糊。我猜是因为它是通过XWayland呈现的,一旦这个问题解决了,我就会考虑进行转换。

Systemd在社区中受到了很多抨击,但我真的、真的很喜欢它。我已经编写了几个我自己的服务,它们执行任务或运行软件,安装在.config/systemd/user下,编写起来很简单。

习惯该工具是一座很难爬的山,但它感觉比以前的init.d脚本要好得多。

我在其他机器上以无头模式使用Fedora,所以我对工具相当熟悉,但有一个体面的包管理器通常会使所有内容保持最新,这是件好事。OSX上的自制软件是一项英勇的努力,但它就是不一样。

我还没能弄清楚这个问题,但也许每周一两次WiFi驱动程序就会停止工作。要修复它,我必须发出命令来重新加载内核模块。

我有时确实会使用Skype和Zoom与家人交流,但网络摄像头开箱即用,似乎正在进行反向工程来补救这个问题,但我发现我的iPad可以作为一种不错的视频通话设备,所以我没有时间去修复它。

Linux上的Web浏览器不支持GPU视频加速。当我调查为什么我的笔记本电脑在观看关于…的Youtube视频时气喘吁吁,排出的热量足以煮一个鸡蛋时,这一点对我来说变得明显起来。煮鸡蛋。

显然,市面上有一个补丁版本的Chromium应该支持它,但目前看来浏览器供应商并不认为这是重中之重。这很可惜,但是,哦,好吧。

在OSX世界中,我立即错过了一些东西,但似乎大多数都是Linux等效物或变通方法。

屏幕截图编辑:在OSX上截图,然后立即跳到内置编辑器添加注释和调整是很不错的。这可以通过MAIM+GIMP进行某种程度上的复制。

pbcopy/pbPaste:这些是与剪贴板交互的命令行工具。Linux的等价物是xclip。

Spotlight/Alfred:我只是把它们当做一个快速计算器使用,从来没有使用过那么多的文件搜索功能。启动终端(Alt+Enter)和使用BC似乎是合理的等价物。我可以考虑一下把这个绑定到热键上。

AirDrop:我很少用它把东西送到我的iPad上--我还没有找到合适的解决方案。

1Password:这真的不是问题,因为1PasswordX工作得很好,如果说有什么不同的话,那就是我认为它更好!

在我的家庭生活中改用Linux突然给我的工作带来了问题。在不同操作系统上交替使用不同键盘快捷键的认知开销似乎不是很有吸引力,还有一个事实是,我就知道我会怀念i3。

因此,为了解决这个问题,我通过VMware Fusion使用了一台虚拟机,它工作得出奇地好。有点太好了,感觉几乎是土生土长的!我的工作机是一台MBP 2019,有6个内核和32 GB的RAM,所以它的功能非常强大。

无论是Firefox的性能,浏览器中缺少硬件视频解码,以及必须调整一些东西,总是需要妥协的,但总体而言,切换是一种积极的体验。我承认我遇到的很多问题都是我自己造成的,但这是值得的。

我真的没有那么怀念OSX,事实上,它可能已经决定了我下一次不会选择苹果。硬件很棒,但让Linux在Macbook机型上运行>;=2016听起来像是一次悲哀的练习,所以这可能是我家里苹果笔记本电脑之路的尽头。