在 MacBook 上运行 Linux 那些坑

发表于:2020-6-12 09:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Daniel Harper    来源:高可用架构|

#
Linux
  这是一篇关于一个 Linux 桌面爱好者向世界证明他为什么要这样做的文章
  几周前,我在我的 Macbook Pro(2015年初款)上安装了 Fedora 32。在这篇文章中,我希望记录下我在这一路上经历的那些坑、快乐的时刻,以及我已经开始容忍的一些麻烦。
  在文章开始之前强调一句,我遇到的大部分问题都归结于我所采用的极简主义设置。所以不要把这看作是对 Fedora/Linux 的反思,我怀疑 GNOME 的默认设置也有不少问题。
  切换理由
  切换的主要原因是一个杀手级应用;i3 窗口管理器。键盘快捷键,平铺的窗口,闪电般的快速体验,就像是一款专为经常 hack 计算机的人设计的软件。
  安装 Linux 后,我把配置调整为:
  使用 maim 进行类似 OSX 的键盘快捷键截屏。
  总是在工作区 1 上打开网页浏览器
  移除标题栏
  5a3e5f0f32b05f8.png" target="_blank">
  setxkbmap -layout gb -model apple_laptop -variant mac -option "ctrl:swapcaps"
  此外,有时我把我的笔记本电脑放到办公桌上,然后插入一个外部键盘(不是苹果品牌的),当我把它插入时,这也需要额外的调整,因为 alt/windows 键由于某些原因被交换了。
   setxkbmap -layout gb -model apple_laptop -variant mac \
  -option "altwin:swap_lalt_lwin" -option "ctrl:swapcaps"
  这花了一段时间才完成这些设置,但我很满意。
  复制和粘贴的问题
  从 OSX 转到 Linux,意味着要忘记 10 年的键盘快捷键。剪贴板的 Cmd+C、Cmd+V 不经过大量的调整根本就无法使用,花太大力气来实现对我来说似乎不值得。先放到一边吧,等有时间再研究。
  所以我不得不训练自己回到使用 Ctrl 作为修饰键,一开始很不习惯,但我适应的速度之快令人惊讶。烦人的部分是在复制/粘贴到终端时,必须记住要按 Shift 键。
  显示配置
  如前所述,我经常把笔记本插在外部显示器上,和键盘的调整一样,这需要花费很多精力。首先,我将我的笔记本电脑放置在外部显示器的下方,所以喜欢使用上下布局。我花了很多时间来尝试并找到体面的 xrandr 设置来支持这一点。每次我放上去,显示器又飘到笔记本屏幕下方。
  最终我找到了优秀的工具 arandr,它提供了一个 GUI 界面来生成适当的设置。
  不幸的是,我还没有找到一种在拔掉/插入显示器时自动应用这些设置的方法,所以我不得不写一个脚本在切换时运行(也包括上述的 setxkbmap 设置)。
    xrandr --output eDP1 --primary --mode 2560x1600 --pos 640x2400 \
  --rotate normal --output DP1 --scale 2x2 --mode 1920x1200 --pos 0x0 \
  --rotate normal
  视网膜屏幕
  要想让所有的东西都能在笔记本上很好地缩放,需要一些努力,幸运的是,Doug Beney 写了一份详尽的指南,很容易实现。
  https://dougie.io/linux/hidpi-retina-i3wm/
  亮度调整
  改变屏幕亮度这样需求也不简单,我花了一段时间才弄明白。感谢 askubuntu 帖子中的指导,修改了一些 i3wm 的配置设置,能够让亮度键的工作方式与你所期望的大致相同。
  https://askubuntu.com/questions/715306/xbacklight-no-outputs-have-backlight-property-no-sys-class-backlight-folder
   # 屏幕亮度控制
  bindsym XF86MonBrightnessUp exec xbacklight -inc 5。
  bindsym XF86MonBrightnessDown exec xbacklight -dec 5
  睡眠功能
  关闭笔记本上的盖子,应该暂停操作系统,但它似乎从来就不工作,我经常发现我的机器在第二天早上还剩30分钟电池的情况下处于滚烫的状态。
  通过 Josh Sherman 的一篇帖子解决了这个问题,你还需要防止 USB 控制器唤醒系统。
  https://joshtronic.com/2017/03/13/getting-suspend-in-linux-working-on-a-macbook-pro/
  不幸的是,上面的这个设置需要每次启动时手工启用,所以我写了一个 systemd 服务和脚本来启用这个功能。
  https://gist.github.com/djhworld/734fd6fc36768ecff639cd2d6c656f5a
  告别火狐浏览器
  这可能是切换中最郁闷的部分。我一直是 Firefox 的忠实粉丝,尤其是像 Tree Style Tabs 这样的扩展,对我囤积标签的恶习起到了助推作用。
  不幸的是,在 Linux 上,Firefox 就是一坨 x,速度慢,启动需要很长时间,网站的渲染速度非常慢,在标签页之间的切换,会让你感觉昏昏欲睡,感觉狐狸身上的火已经熄灭了。
  我尝试了所有的方法来解决这个问题,改变 about:config 中的设置,尝试 Firefox Nightly ,启用 WebRender,但似乎没有什么效果。
  相比之下,Google Chrome 的速度快如闪电,真的是天地之别,所以对于进行我的 Linux 之旅,很遗憾,不得不暂时选择大 G。
  其他工具和功能
  终端用的是 alacritty,非常平滑,速度快,字体渲染效果好。
  redshift 就像 OSX 上的 f.lux,晚上不刺眼。
  Dropbox的设置非常简单,尤其是在添加systemd服务时(感谢Joe Roback)。
  Visual Studio Code - 不出所料,没有问题。
  GIMP - 可以很好地进行截图编辑,凑合可用。
  新环境的乐趣
  在把所有的东西都按照我喜欢的方式配置好之后,还有些什么?
  i3wm
  i3wm 真是爆炸性的使用,在工作空间之间的切换,移动窗口和习惯于平铺需要一个小的学习曲线,但这意味着我使用鼠标少了很多。
  额外的好处是一切都感觉很快,这可能只是一个感知的问题,但有时感知很重要。
  注:我知道 swaywm 的配置与 i3 兼容,并在Wayland上运行。我已经试过了,它看起来很整洁,而且它可能会解决上面描述的键盘/显示器问题,但在我的 Retina 显示器上,Chrome 看起来非常模糊。我猜是因为它是通过 XWayland 渲染的,一旦解决这个问题,我就会考虑转换。
  systemd
  Systemd 在社区里受到了很多抨击,但我真的非常喜欢它。我已经写了一些自己的服务,这些服务可以执行任务或运行软件,安装在 .config/systemd/user 下,写起来很简单。
  熟悉这些工具的使用是一个艰难的过程,但感觉比以前的 init.d 脚本好多了。
  DNF
  我在其他机器上以 headless 模式使用 Fedora,所以我已经相当习惯了这些工具,有一个像样的包管理器,能让所有东西都保持最新版本是不错的。OSX上的 Homebrew 是一个努力,但还是差很多。
  麻烦的问题
  WiFi 掉线
  这个问题我一直没有弄明白,但可能每周有一两次 WiFi 驱动就会停止工作。为了解决这个问题,我必须发出一个命令来重新加载内核模块。
 sudo modprobe -r brcmfmac && sudo modprobe brcmfmac
  不支持摄像头
  我有时也会使用 Skype 和 Zoom 与家人沟通,但网络摄像头似乎不能使用,有一个逆向工程正在努力补救这个问题,但 iPad 可以作为一个不错的视频通话设备,所以还没有来得及修复它。
  浏览器不支持视频硬件加速
  Linux 中的网页浏览器不支持 GPU 视频加速。又一次我在观看一个关于煮鸡蛋的 YouTube 视频时本子热气腾腾散发的热量足以煮熟一个鸡蛋时候发现的。
  显然,有一个 Chromium 的补丁版本据说支持,但目前看来,浏览器厂商并没有将此视为重要的任务。
  不过安装 VLC 和 intel 驱动可以工作,所以只能这样了。
  OSX / Linux 的差异
  下面几个 OSX 功能切换之后就错过了,但似乎大多有 Linux 的等价物或变通办法。
  截图编辑。在 OSX 上,做一张截图,然后立即跳入内置的编辑器中添加注释和调整非常方便。一定程度上可以用 maim+GIMP 来实现。
  pbcopy/pbpaste: 这些都是与剪贴板交互的命令行工具。Linux 下面的等价物是 xclip
  Spotlight/Alfred。我只是把它当做一个快速计算器来用,从来没有用过那么多的文件搜索功能。启动终端(Alt+Enter)并使用 bc 似乎可以提供类似的功能。我可能会考虑把这个功能绑定到一个快捷键上。
  通知。设置dunst可以提供足够好的桌面通知支持。
  Airdrop: 我很少会用它来发送东西到我的 iPad 上 — 我还没有找到合适的解决方案。
  1Password:这真的不是一个问题,1PasswordX 工作得很好,如果想提一句的话,我认为它可以做得更好。
  工作环境
  把家里机器切换到 Linux 之后,在工作环境又出现了一个新的问题,在不同的操作系统上交替使用不同的键盘快捷键,这种认知上的开销似乎有些麻烦,再加上我比较想念 i3。
  为了解决这个问题,我通过 VMware Fusion 使用虚拟机,效果出奇的好,感觉几乎是原生的!我的工作机是一台 MBP 2019,有 6 个核和 32GB 内存,所以能力没啥问题。
  总结
  总会有一些无奈的妥协,无论是 Firefox 的性能,还是浏览器中硬件视频解码的缺失,以及不得不调整一些配置,但总的来说,换机的体验大多是好的。我承认,遇到的大部分问题是我自己造成的,但这是值得的。
  我真的没有那么想念 OSX,事实上,这可能已经决定了我下一次不选择苹果的决定。硬件很优秀,但是让 Linux 运行在 2016 年之后 Macbook 机型,听起来就像一场悲壮的演习,所以我家的苹果笔记本使用历史可能就到此为止了。

       本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号