在 MacBook Pro 2015 款上安装 Manjaro

2019/03/21

最近一直在折腾公司给配的 MacBook Pro 2015 款,费了很大的劲终于装好了我心爱的 Manjaro,在这里稍微记录一下安装要点。

显卡驱动

Manjaro 有个叫做 mhwd 的工具,可以自动为当前电脑安装显卡驱动,但是这个功能在我用的 mbp 上面只会安装通用的 linux 驱动,为了能够充分发挥显卡的性能(?),只好手动安装一下驱动。 我的这台 mbp 用的是 A 卡,根据 Arch Wiki 的说明,需要安装 ATI 的驱动,具体的说明请看:ATI

在这篇文档中提到了 Early KMS 这个功能,但是我发现这个功能就算不开启也没有什么影响。

风扇驱动

为了让风扇能够在正确的时候转起来,我们需要安装 mbpfan-git 这个软件包,然后 enable mbpfan 这个服务。为了测试风扇控制的效果,你可以试试使用 stress -c 4 来给 CPU 加加负担,看看风扇能不能正常的转起来。

高分屏适配

我使用的 KDE 桌面环境,直接在系统设置中设置屏幕两倍缩放就 OK 了,但是你会发现在开机登录的时候输入框的界面仍然是没有进行任何缩放的,这时候我们需要修改 sddm 的缩放设置,请看这里:SDDM#DPI_settings。通常来说,只要把 DPI 设置成系统字体缩放大小就成了。

TTY 字体缩放问题

因为 mbp 的屏幕分辨率非常高,默认的 tty 看起来非常的辣眼睛,我们可以安装 terminus-font 这个软件包,并在 /etc/vconsole.conf 中加入这个设置:

FONT=ter-132n

但是如果想要系统启动过程中应用这个字体的话,可能需要启用显卡驱动的 early KMS 设置,这里我没有尝试,因为我并没有这个需求。

休眠(Hibernate)设置

不要休眠,不要休眠,不要休眠。

经过我一晚上的测试,一旦 mbp 进入了休眠模式,唤醒的速度比开机还慢,而且网卡驱动会无法正确加载,所以,我们需要做的就是不要休眠。

但是 Manajro 默认是会在系统菜单中显示“休眠”按钮的,为了禁用这个按钮,我们需要修改 polkit 的设置,添加文件 /etc/polkit-1/rules.d/10-disable-hibernate.rules,内容如下:

polkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.login1.hibernate" ||
        action.id == "org.freedesktop.login1.hibernate-multiple-sessions")
    {
        return polkit.Result.NO;
    }
});

然后重新登录当前用户,你就会发现“休眠”按钮消失了。

修改键位

MacBook Pro 的键位跟一般的 PC 差别很大,但是已经有热心网友制作了一个修改过的内核模块,可以让我们修改部分按键的映射。

触控板手势

通过 yay 安装 libinput-gestures 就可以自定义触控板手势动作了。

全盘备份脚本

定期备份是个好习惯,我选择使用 rsync + 移动硬盘来进行系统备份,我的全盘备份脚本如下:

#!/usr/bin/fish
rsync -aAXH --inplace --info=progress2 --delete --exclude={"/dev/*","/proc/*", "/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found","/home/*/.nuget/*", "/home/*/.cache/*"} / $argv

这行命令同样也是来自于 Arch Wiki:Rsync#Full_system_backup