V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Noicdi
V2EX  ›  C++

买了 mac mini 及 Linux 开发相关问题请教

  •  
  •   Noicdi · 10 天前 · 2441 次点击

    手里有 iPhone 和 ipad ,但是还没有使用过 macos ,趁着国补买了一台 mac mini m4 24+512 ,放在家里当台式机用,用于上网和开发。

    开发方面,只是用于个人项目和代码学习。我的方向是 Linux c++ 开发,平常玩 Linux 很多,会写一些 Linux 项目,不考虑跨平台,也打算摸一摸 kernel 的代码学习。

    我的问题是,在 m 系列芯片的 macos 上,如何做 Linux 开发?不考虑远程 Linux 服务器和架构集的情况下,使用 clion 和 vscode remote ssh ,在 macos 本地可以有哪些方式? docker 和虚拟机吗?能不能正常的完成编译和调试?

    27 条回复    2024-11-11 16:32:47 +08:00
    csfreshman
        1
    csfreshman  
       10 天前
    关注一波,面临同样的问题,mac mini m4 24+512 多少买的
    Kaleidopink
        2
    Kaleidopink  
       10 天前   ❤️ 1
    安装一个 OrbStack, 可以直接在后台运行一个 Linux 虚拟机, 然后 ssh 开发就行了.
    zwpaper
        3
    zwpaper  
       10 天前   ❤️ 1
    macOS 在 Linux 开发工具链的成熟度高得离谱,涉及 Kernel 的起一个虚拟机也很方便,我 32G macbook 用 Lima 日常虚拟机都是开着的,甚至都不用担心额外的负载影响电池续航和 macOS 下的性能
    kera0a
        4
    kera0a  
       10 天前 via iPhone   ❤️ 1
    应该没问题吧,毕竟 Linus 都用过 M2 开发 Linux
    Noicdi
        5
    Noicdi  
    OP
       10 天前 via iPhone
    @csfreshman #1 上海没参与国补,使用广东国补最终价格 5999 ,订单写的 12.7 发货,希望可以早点发
    Noicdi
        6
    Noicdi  
    OP
       10 天前 via iPhone
    @Kaleidopink #2
    @zwpaper  #3
    起虚拟机然后 vscode remote ssh 我预计一点问题也没有,那 clion 配合开发怎么样呢,我现在都是 clion 配合 wsl2 ,类似于本地开发,体验挺不错的
    tool2dx
        7
    tool2dx  
       10 天前   ❤️ 1
    M2 本地只能跑 arm 版本的 elf 格式吧。

    要不你全部用 arm 来写和调试代码,反正 API 都是大同小异。最后测试才上 x86 的 elf 到 linux 虚拟机,体验应该要比 ssh 到虚拟机好。
    Noicdi
        8
    Noicdi  
    OP
       10 天前
    @tool2dx #7 我现在接触到的内容都和架构没有关系,所以啥架构都无所谓,如果在本地能直接编译 arm 的 Linux kernel 那我也可以直接在本地看代码。

    posix api 都无所谓,主要是现在写的一个服务器项目用到了 Linux 支持的接口,所以考虑在 macos 上起 Linux 的开发环境。
    dalaoshu25
        9
    dalaoshu25  
       10 天前   ❤️ 2
    最简单的就是虚拟机,可以用 VMWare Fusion , 也可以用 UTM ,直接利用苹果自己的虚拟化框架运行 Fedora 和 Ubuntu 的 aarch64 版本毫无压力。
    Noicdi
        10
    Noicdi  
    OP
       10 天前
    @dalaoshu25 #9 ok ,那等到货了研究一下 UTM 看看
    EliStone
        11
    EliStone  
       10 天前
    我也想买 Macmini ,我看 JD 上 10+10 的 32g 版本的,广州 7199 ,但是我又有一个 Windows 台式机,一个装了 linux 的笔记本(平时自己学东西都在这个上面)还有一台小主机算是 homelab ,但是 linux 的桌面很难受,一堆小 bug 很影响心情,在考虑要不要整一台 Macmini 了,主要是非必须想尝试尝试,有感觉太浪费钱了
    dalaoshu25
        12
    dalaoshu25  
       10 天前
    @EliStone 如果你只是为了尝试,倒不如现在去咸鱼收个 M2 乃至 M2 Pro 的旧款 mini ,不用虚拟机直接就能跑 Fedora 41 Asahi remix ,除了雷电口和 USB-C 显示器还不支持,其他都没问题。速度也足够了。
    xvast
        13
    xvast  
       10 天前
    可以尝试 eypc 2 代,单/双路 7532 作为服务器,这样就有 64/128 线程,编译速度非常快。客户端可以选择 mac 或者 windows 。搞 Kernel 还是 linux 吧。
    lvlongxiang199
        14
    lvlongxiang199  
       10 天前
    一个小问题, 既然是 Linux 开发, 为啥选择 mac. 买了 mac 你也大概率得开 vm. 为啥不买 hp, dell 的 mini 主机装 Linux 系统, 还便宜, 1k 就能搞定 32Gx2 的内存, 500 多就能搞定 1T nvme ssd
    EliStone
        15
    EliStone  
       10 天前
    @dalaoshu25 #12 我看了咸鱼上的老款 Mac mini 也不便宜,不如直接买新款了
    Noicdi
        16
    Noicdi  
    OP
       10 天前
    @EliStone #11 我是只有一台 6 年前买的笔记本,装 Windows ,用来上网和 WSL2 搞 Linux 开发。没有外带需求,想组台小主机放家里用,这次趁机会决定买 mac mini 。

    你这种情况,我觉得设备挺多了,不如闲鱼收一台试试 macos ,玩一玩就出掉。不过最好收 m4 版本?现在收 m2 版本再想出掉我估计很难。
    shylockhg
        17
    shylockhg  
       10 天前
    @lvlongxiang199 1k 搞定 32G*2 的机器,求推荐
    EliStone
        18
    EliStone  
       10 天前
    @Noicdi #16 放弃了,还是打游戏用 Windows ,开发用 linux 吧,或许过两年换代之后,也舍得买 Mac 了
    Noicdi
        19
    Noicdi  
    OP
       10 天前
    @lvlongxiang199 #14 我现在手上有一台 6 年的笔记本了,本来有想组小主机的想法,这次看价格可以,干脆买 mac mini 了。
    我虽然是 Linux 开发,但是我从来不考虑用 Linux 做桌面系统,Linux 对我来说就是命令行、编译和运行程序的服务器。这次想试试 macos ,所以倾向于买 mac mini ,作为上网的主力桌面系统。实在不行,把笔记本的 Windows 格了装个 Linux 当测试环境。
    Noicdi
        21
    Noicdi  
    OP
       10 天前
    @EliStone #18 哦对,关键就是我现在已经不打游戏了,所以这次可以考虑 mac 哈哈哈
    shylockhg
        22
    shylockhg  
       10 天前
    @lvlongxiang199 好吧,我还以为 1k 整机 。。
    Noicdi
        23
    Noicdi  
    OP
       10 天前
    @xvast #13 mac 对我来说确实算客户端,但是我也用不到性能这么好的服务器跑编译。个人项目完全没这么大的编译性能需求,kernel 也只需要跑一次编译弄出 Compilation database 就行,能在 mac 本地或者虚拟机上就够用了。
    dalabenba
        24
    dalabenba  
       10 天前 via Android
    @kera0a asahi 现在好像还没支持 m4
    HangoX
        25
    HangoX  
       10 天前   ❤️ 1
    linux C++ 直接虚拟机不行吗? Parallels Desktop 挺好用,不用图形化的话,OrbStack 也够用了
    clion 直接用 gatewate 版本就能开发了,其实有也没差
    EliStone
        26
    EliStone  
       10 天前
    @Noicdi #19 linux 的桌面,确实不行,各种小 bug ,我已经懒得折腾了
    edwardzcn98
        27
    edwardzcn98  
       10 天前
    MacBook Air + 开发版,没动过内核,只改过驱动。开发方式拓展坞一根网线 ssh ,vim 或者 vscode remote
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5126 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 09:19 · PVG 17:19 · LAX 01:19 · JFK 04:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.