如何在 M1 MBP 上获得较好 Linux 体验? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
wfd0807
V2EX    Linux

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

  •  
  •   wfd0807 2022-03-25 18:37:03 +08:00 3885 次点击
    这是一个创建于 1294 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    kidlj
        1
    kidlj  
       2022-03-25 18:39:48 +08:00
    VSCode remote ,Mac 系统优秀的桌面体验 + Linux 系统优秀的开发体验。
    12101111
        2
    12101111  
       2022-03-25 18:50:30 +08:00   1
    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
        3
    wfd0807  
    OP
       2022-03-25 18:55:44 +08:00
    @kidlj 开发工具主要是 jetbrains 系列,vscode 不熟悉,不过有时间我会尝试一下,谢谢
    @12101111 我去研究一下,谢谢
    jessun1990
        4
    jessun1990  
       2022-03-25 19:02:59 +08:00 via iPhone   1
    我的做法是,将 arch 主机作为服务器使用。mac 上开个 terminal ssh 到 arch 主机上开发 。毕竟 mac 上可以用飞书会议开会。

    当然我是用的 neovim ,如果是 ide 或 vscode 好像也有 remote via ssh 的方案。
    gabon
        5
    gabon  
       2022-03-25 19:13:06 +08:00 via iPhone   1
    最近刚好 YouTube 给我推送了几个关于 Asahi linux 的视频,这个项目是把 linux 移植到 m1 芯片的 bare metal 上。现在已经是 alpha 阶段了,基本的硬件可以驱动起来,但是应该还有不少 bug ,可以关注一下。
    littlewing
        6
    littlewing  
       2022-03-5 19:15:59 +08:00
    "获得较好的 linux 体验" 具体指什么?你列出来大家针对性的解决问题啊
    littlewing
        7
    littlewing  
       2022-03-25 19:16:46 +08:00
    @littlewing 如果你是指装 MacOS 和 Liuux 双系统的话,楼上已经有人推荐发行版了
    findex
        8
    findex  
       2022-04-04 16:16:32 +08:00   1
    因为只喜欢 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 云开发,在浏览器里开发,这个成本有点高。不建议模仿。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1065 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 17:45 PVG 01:45 LAX 10:45 JFK 13:45
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86