我在2013年转而使用Mac,那时,从我的角度来看,开发体验非常好。硬件是快速和可靠的,而操作系统摆脱了束缚,提供了我需要的一切。
不幸的是,自从我有了2016年的新Macbook(带触摸条的那台),硬件和软件的质量,特别是在稳健性和稳定性方面都有些退化了。
这种情况促使我调查是否有可能在Macbook上运行Linux--主要是为了尝试一下。上一次我尝试用Linux发行版作为我的主要开发操作系统是在很久以前,那时它的设置和维护都很累人。
首先,我被打消了念头,因为对于我的模型来说,音频不能工作(没有可用的驱动程序)。因此,当我第一次调查这个问题时,我就跳槽了,因为我认为这太费劲了,而且很可能有太多的挫折感。
然而,后来工作中的一个同事居然让Linux在他的Macbook上运行,而且没有任何严重的问题。这促使我再次去尝试。
我调查了USB音频和WIFI棒,发现它们实际上相当便宜,特别是对于音频,没有任何兼容性问题。
如果你想知道你的Macbook型号的驱动情况如何,这里有一个很好的 "2016和2017型号的Linux状况 "的概述。
步骤
免责声明:我们将调整分区大小,重新格式化,并安装一个操作系统。所有这些都可能出错,你可能会丢失数据,使你的机器崩溃或其他什么,所以先备份你需要的一切。
第一步是对我的磁盘进行分区。这已经有点烦人了,而且对初学者不是特别友好。目标很简单--做一个非apfs分区。
为了做到这一点,在默认的Catalina或以后的设置中,我们首先需要调整APFS容器的大小。我查看了这个教程,然而,由于我的时间机器备份,我遇到了一个错误(49153)。 我使用这里的答案来解决这个问题。
基本上,步骤是。
sudo tmutil disable
tmutil listlocalsnapshots /
tmutil thinlocalsnapshots / 9999999999999999
diskutil list
sudo diskutil apfs resizeContainer disk0s2 750g jhfs+ Extra 250g
sudo tmutil enable
你可以在一个实时文件系统上做这个,在我的机器上花了半天时间才完成。
一旦容器被调整大小,你有一些未分配的空间。你可以现在将其格式化为MS DOS(FAT),或者在以后的Ubuntu安装过程中。
下一步是下载ubuntuiso。我使用的是18.04 LTS,以保证驱动程序的可用性和稳定性。
下载完成后,用该镜像创建一个可启动的U盘。我不会在这里详细介绍如何做这件事,但网上有很多这方面的教程和工具。在OS X上,我使用etcher将镜像刻录到USB上。
好了。在安装Ubuntu之前,我们需要安装rEFInd --一个我们可以同时用于Ubuntu和OS X的引导程序,这样我们就可以在两个操作系统之间切换。
安装rEFInd在这篇文章中的第3. Prepping Your Drive 节中安装得很好。
我只是简单地按照那里的说明操作,效果非常好。
一旦可启动的USB完成,并且rEFInd正确安装,重新启动Macbook并插入U盘。它应该自动启动到rEFInd启动菜单,你可以在那里选择Linux USB。
从这里开始,只要按照Ubuntu的安装过程,选择你创建的分区(或者从未分配的空间创建一个新的分区)作为位置,按照你喜欢的方式安装。
一旦安装完成,你可能会自动启动到Ubuntu。这里我们需要重新设定启动顺序,先使用rEFInd。这在这里有很好的解释。
你基本上列出了你的启动顺序,然后试着在里面找到rEFInd启动管理器。然后,你可以使用efib00tmgr -o 命令调整启动顺序。一旦完成这些,重启将再次引导我们进入rEFInd引导管理器,我们将启用双启动。
一旦我们能够启动Ubuntu,我们就可以去安装一些必要的驱动程序。这是一个很好的资源,可以为你的模型找到开箱即用的东西,会缺少什么以及如何安装。
根据你的机型,可以使用外部USB硬件(如WIFI/音频)来代替。
烦扰/问题
如上所述,我在新的Ubuntu-a-Macbook设置中遇到了一些问题。最值得注意的是,内部音频不能工作,所以我需要买一个USB音频棒,它的成本很低,而且效果很好。
更烦人的是WIFI,根据接入点和提供的网络,它可以工作,也可以不工作。所以在家里,2.4GHz的网络对我来说是有效的,但是当我在路上的时候,大多数WIFI都不工作,所以我也买了一个外部WIFI棒。 对于外部WIFI棒(也不贵),你必须在兼容性方面有点小心,因为不是所有的都能开箱即用,或者在Linux上很好地工作。
电池寿命没有那么好。这对我来说不是什么问题,因为我几乎从不在电池模式下工作。对于我这个带有无用的触摸条的机型,我还必须在启动时发布某个命令,以便能够使用我的F键,这有点烦人,但至少容易处理。
睡眠模式是另一个问题,特别是在我的设置中,我的Macbook大部分时间都是关闭的。因此,如果我关闭屏幕,或让Macbook进入睡眠状态,就不可能恢复。
对于打开盖子的 "正常 "睡眠,有一些解决方案,但从睡眠中醒来似乎是一个普遍的问题。
这些事情对我来说不是问题,但对许多人来说可能是。它们也很烦人,所以在中期,我计划转移到Linux的一个更原生的硬件环境。
结论
总而言之,这并不难做到,到目前为止(3个月后)我对Ubuntu作为我的主要开发设置感到非常满意。目前使用Macbook的设置仍然有点麻烦,所以下一步就是把它卖掉,换一台一切都能正常工作的机器。
如果你也打算换机,但不知道有这种可能,或者你因为看起来有点畏难而不敢尝试,我希望这篇文章对你有帮助。)