如何在 M1 MBP 上获得较好 Linux 体验?

2022-03-25 18:37:03 +08:00
 wfd0807

公司强行配 M1 MBP ,而我自己的设备用的是 arch+dwm ,在不做系统的情况下,如何获得较好的 linux 体验?

3465 次点击
所在节点    Linux
8 条回复
kidlj
2022-03-25 18:39:48 +08:00
VSCode remote ,Mac 系统优秀的桌面体验 + Linux 系统优秀的开发体验。
12101111
2022-03-25 18:50:30 +08:00
https://github.com/lima-vm/lima + Xquartz

mac 下的虚拟机没有一个 gui 好使的, 全都不如一个没有 3d 驱动的 asahilinux
utm 指针漂移,点的地方和光标显示的不一样,3d 加速开了随机闪退,就算不闪退也就只有 OpenGL 3.0ES
vmware 预览版没有 3d 加速,但是不要钱
pd 要钱,有 OpenGL 4.1 core profile ,但是分辨率没法全屏,光标点进去就不见了
wfd0807
2022-03-25 18:55:44 +08:00
@kidlj 开发工具主要是 jetbrains 系列,vscode 不熟悉,不过有时间我会尝试一下,谢谢
@12101111 我去研究一下,谢谢
jessun1990
2022-03-25 19:02:59 +08:00
我的做法是,将 arch 主机作为服务器使用。mac 上开个 terminal ssh 到 arch 主机上开发 。毕竟 mac 上可以用飞书会议开会。

当然我是用的 neovim ,如果是 ide 或 vscode 好像也有 remote via ssh 的方案。
gabon
2022-03-25 19:13:06 +08:00
最近刚好 YouTube 给我推送了几个关于 Asahi linux 的视频,这个项目是把 linux 移植到 m1 芯片的 bare metal 上。现在已经是 alpha 阶段了,基本的硬件可以驱动起来,但是应该还有不少 bug ,可以关注一下。
littlewing
2022-03-25 19:15:59 +08:00
"获得较好的 linux 体验" 具体指什么?你列出来大家针对性的解决问题啊
littlewing
2022-03-25 19:16:46 +08:00
@littlewing 如果你是指装 MacOS 和 Liuux 双系统的话,楼上已经有人推荐发行版了
findex
2022-04-04 16:16:32 +08:00
因为只喜欢 Linux 做开发。MacOS 属于桌面轻办公,开会用。
我是用的 PD 安装的 ARM64 版本的 Linux 虚拟机。但是,你在 ARM64 打包的文件在 x86 上不能用。当然也不是不能用,x86 服务器上用 qemu 运行下 arm64 指令集的程序也是可以的,太慢了,不能用于生产环境。或者你在 arm64 虚拟机下用 qemu-x86 运行和打包 x86 的程序推到服务器上。可是开发性能太差了。这种 CPU 跨架构的开发方式令人无法接受,尤其是后端开发。

然后,如果对性能损耗没有太大的要求。可以用 qemu ( utm )安装一个 x86 的 Linux 虚拟机,然后在 M1 mac 上 ssh 到本地虚拟机进行开发。我测试过,使用 qemu-arm64 在 m1 上 8 核心的 debian x86 虚拟机 gcc 编译水平相当于 intel i7 8700k 的 1/4 。这个损耗还是有点大的。但是,一台电脑可以完成你 all in one 的开发了。qemu 虽然慢,但是能干活。

如果做 docker 开发,直接用 macos 的桌面版就完事了。

针对那种说 m1 上安装 linux 双系统的做法,我一直在关注。可是 m1 mac 的硬件和 pc 的硬件差别太大,即便最基础的 cpu 、硬盘读写、屏幕驱动、usb 支持都完成了,还有更多的硬件没有完善,例如 Wi-Fi 等。我这个 m1 mbp 还是 touch bar 的,目前的 m1 linux 上还不能用。

说句题外话令人吃惊的。我将我的 Linux 笔记本的系统,打包成一个文件,导入到 qemu 虚拟机里。并且成功在 arm64 的 m1 上运行我的 x86 linux 笔记本系统 -- xfce4 + ubuntu 20.04 amd64 。就是有点卡,但是可用。当然我曾经也做过,把 linux 桌面笔记本系统打包成一个文件上传到服务器,变成所谓的 all in cloud 云开发,在浏览器里开发,这个成本有点高。不建议模仿。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/842910

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX