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

是否存在两台 MacOS 之间无缝切换的办法?

  •  
  •   dangyuluo · 2021-01-22 22:45:09 +08:00 · 8471 次点击
    这是一个创建于 1407 天前的主题,其中的信息可能已经有所发展或是发生改变。

    可能是奢望,不过万一实现了呢? 假设我有一台 Mac mini 和一台 Macbook Pro,大多数时候我会在 Mac Mini 上开发。但是偶尔坐累了(站累了)我想拿起 MacBook Pro 躺到 bean bag (豆子椅?)上继续工作。这种情况下,有没有可能在不使用远程桌面的情况下无缝切换,使两台 Mac 体验完全一致?

    进一步讲,如果一台 MacOS 在公司,另一台在家,允许 15 分钟通勤的情况下,有没有可能实现回家后还能做到完全一致的开发体验,包括工作不中断。

    61 条回复    2021-01-24 16:24:09 +08:00
    gzlock
        1
    gzlock  
       2021-01-22 22:46:43 +08:00
    用 teamviewer 之类的连到另外一台 Mac 咯
    minamike
        2
    minamike  
       2021-01-22 22:49:38 +08:00
    怎样算无缝
    两台机器每时每刻的状态都一样?
    miniers
        3
    miniers  
       2021-01-22 22:52:14 +08:00 via iPhone
    把系统装到 nvme 移动硬盘,完美😂
    heyjei
        4
    heyjei  
       2021-01-22 23:13:59 +08:00
    做开发的其实还好,要同步的只是代码,用 idea 系列的开发工具,基本可以做到自动保存编辑。

    所以我写了一个脚本叫 commit_work.py
    heyjei
        5
    heyjei  
       2021-01-22 23:17:39 +08:00
    做开发的其实还好,要同步的只是代码,用 idea 系列的开发工具,基本可以做到自动保存编辑。

    所以我写了一个脚本叫 commit_work. py 能自动提交当前的工作内容,(省去 git commit git push 这些繁琐的步骤)
    每次离开电脑之前 commit_work. py 。到另外一个电脑的时候 git pull 一下,离开之前同样 commit_work. py 。

    不过很多时候,离开的时候都忘记了 commit work 。如果能够做到息屏或者屏保的时候,自动运行 commit_work. py 就更好了。
    heyjei
        6
    heyjei  
       2021-01-22 23:18:42 +08:00
    @miniers 雷电 3 的硬盘盒加 m2 的硬盘要快 2000 了啊,这成本有点高
    dingdangnao
        7
    dingdangnao  
       2021-01-22 23:20:32 +08:00
    把所有代码 文件 都放到 Documents 里 然后打开 iCloud 同步?
    sidkang
        8
    sidkang  
       2021-01-22 23:22:34 +08:00
    通过同步工具 sync 所有 dotfile 和项目文件即可~
    chenlee9876
        9
    chenlee9876  
       2021-01-22 23:23:15 +08:00 via iPhone
    @dingdangnao iCloud 不是很稳,我遇到过好几次间歇性抽风,然后文件给复制了三份,从 1kb 到原大小
    qlqsh
        10
    qlqsh  
       2021-01-22 23:27:25 +08:00
    不能。

    主要还是通信问题很大。带宽不够。共享屏幕也好、teamviewer 也好,都没有本机那么舒爽。

    感觉要想无缝切换,需要系统级别的支持。

    感觉 chrome 本有点这个意思。本机很弱,服务器强,把高负载的扔到服务器上去,本机轻办公。然后加上高速网络,应该速度不错。
    justNoBody
        11
    justNoBody  
       2021-01-22 23:48:10 +08:00
    走云盘同步开发代码不实际,是会出现问题的。还是建议基于 git 的,换之前 push 一下,换到其他电脑以后 pull 一下,我觉得也没有多麻烦,就是注意自己的分支别对其他小伙伴可见即可。还有就是,要不考虑一下把 mac mini 出掉,直接用 mbp 算了。
    Badlion
        12
    Badlion  
       2021-01-22 23:59:37 +08:00
    再买一台 PC 机提供远程桌面和 SSH 服务,把工作环境部署在 PC 中的黑苹果 /Windows/Linux 系统上,
    mac 上只需安装 anydesk,jump desktop, items2, vscode 这些工具就行。
    我就是这么干的,公司和家里各一台 mac 。
    Rorysky
        13
    Rorysky  
       2021-01-23 01:09:15 +08:00
    当然可以,把开发工作全部放到 远程服务器上
    tomtom9
        14
    tomtom9  
       2021-01-23 03:07:09 +08:00 via iPhone
    楼主提的这个需求好像超融合与痩主机的概念啊。胖主机统一计算,痩主机负责显示
    littlewing
        15
    littlewing  
       2021-01-23 03:25:37 +08:00
    代码放到服务器上,本地 IDE remote 开发,比如 vscode remote ssh 或者 jetbrain 家的 IDE 也支持 remote 的
    hello2060
        16
    hello2060  
       2021-01-23 05:11:24 +08:00 via iPhone
    楼主,我的情况和你一样,在 iMac 和 mbp 之间切换。

    用 syncthing 同步代码文件夹就可以了,两边代码一样,git 历史,branch,改动都一样
    iasuna
        17
    iasuna  
       2021-01-23 05:40:03 +08:00
    人在海外

    实验室和家里都是 Mac

    软件装都装一遍,文件用 Dropbox/Google Drive 同步。完美无缝切换。浏览器记录直接用 Chrome 同步。

    国内可以替换类似的云服务。
    Livid
        18
    Livid  
    MOD
       2021-01-23 06:04:23 +08:00
    TabGre
        19
    TabGre  
       2021-01-23 07:36:35 +08:00 via iPhone
    其实我现在就是用的 dropbox 同步代码和用户设置 dotfile 的,基本满足了
    goldiorl
        20
    goldiorl  
       2021-01-23 07:49:37 +08:00
    早点适应远程开发就可以了。

    我的笔记本从来都是当 chrome book 用,所有 IDE 都是在台式机上开着的,优势就是每次点开来界面都一样,上次写到哪儿了一目了然

    ![Imgur]( https://imgur.com/p2Aa3fM)
    goldiorl
        21
    goldiorl  
       2021-01-23 07:51:42 +08:00
    贴图失败?
    [img]( )
    z7356995
        22
    z7356995  
       2021-01-23 08:07:40 +08:00 via Android
    其时在家里很好解决,代码放在 nas 上,两台电脑就开 ide
    hcsu
        23
    hcsu  
       2021-01-23 08:20:19 +08:00 via iPhone
    我也有同样的需求,dropbox 遇上 node_modules 就 gg 了,感觉不太靠谱。最后还是选择随身带着 mbp…
    JasperYanky
        24
    JasperYanky  
       2021-01-23 09:04:23 +08:00
    我目前使用 iCloud 东西都放 iCloud 里,代码基本能实时同步,粘贴板使用 Paste 同步
    iCloud 在迁移电脑的时候非常痛苦,但是后面的增量非常爽
    PS 如果遇到 node_modules 这种可以改成 node_modules.nosync 然后做一个 node_modules 的替身,就不同步了
    hello2060
        25
    hello2060  
       2021-01-23 09:27:42 +08:00 via iPhone
    @hcsu syncthing 可以选择哪些目录不同步,或者根据规则过滤
    lazydog
        26
    lazydog  
       2021-01-23 09:28:18 +08:00 via Android
    croc?
    hcsu
        27
    hcsu  
       2021-01-23 09:33:05 +08:00 via iPhone
    @hello2060 #25 谢谢,我去看看。
    hey2go
        28
    hey2go  
       2021-01-23 10:07:46 +08:00
    把 macmini 出给我,然后就都解决了
    jfdnet
        29
    jfdnet  
       2021-01-23 10:09:43 +08:00
    如果只是同步文件 那方案还是很多很多的
    hrong
        30
    hrong  
       2021-01-23 10:33:24 +08:00 via iPhone
    @Livid 大佬
    Themyth
        31
    Themyth  
       2021-01-23 10:38:53 +08:00
    @gzlock 人家楼主都已经说了 有没有在不使用远程桌面的情况下。
    ys0290
        32
    ys0290  
       2021-01-23 10:39:42 +08:00 via iPhone
    所有终端都是瘦客户端,远程到桌面就好了
    victor
        33
    victor  
       2021-01-23 10:49:48 +08:00
    软件配置用 dropbox + mackup 同步
    源代码目录用 iCloud 同步
    hcsu
        34
    hcsu  
       2021-01-23 10:58:23 +08:00 via iPhone
    有没有可能做到连打开的窗口、浏览器打开的页面、编辑中还未保存的文件也能同步的?(除了远程桌面)
    q197
        35
    q197  
       2021-01-23 11:05:45 +08:00
    @goldiorl 如果只是文件、ssh 那种远程还行,图形界面远程还是有明显卡顿感吧,尤其是动画肯定是不行了
    Badlion
        36
    Badlion  
       2021-01-23 11:15:35 +08:00
    目前除了远程桌面,没找到更好的办法。因为远程桌面可以保存桌面的状态,服务永不停歇。
    远程桌面在有线网络下体验还是很不错的,我经常跨城连接使用,非高峰期远程连接和本地连接区别不大。

    不用远程桌面的话,感觉把这些工具用好其实也就能接近无缝体验了: SSH, vscode remote, git, icloud, bash.
    keepeye
        37
    keepeye  
       2021-01-23 11:36:14 +08:00
    连 cpu 和内存状态时刻保持一样吗,影分身都做不到吧
    wobuhuicode
        38
    wobuhuicode  
       2021-01-23 11:44:45 +08:00
    Macbook Pro 能解决你所有问题。
    第一种情况你只是需要一台升降桌子就好了。
    第二种情况把 Macbook Pro 戴上假。
    wobuhuicode
        39
    wobuhuicode  
       2021-01-23 11:45:00 +08:00
    @wobuhuicode 带回家
    MaxLi77
        40
    MaxLi77  
       2021-01-23 12:27:55 +08:00
    最无损的方法是 macOS 装到移动硬盘里,换电脑换硬盘就行了
    unlighted
        41
    unlighted  
       2021-01-23 13:28:17 +08:00 via Android
    ssh+tmux
    ffxrqyzby
        42
    ffxrqyzby  
       2021-01-23 13:57:47 +08:00
    我的办法是群晖 drive, 共享盘里共享关键文件, 再加上那个 mackup 配置同步, 能解决温饱吧
    zzh7982
        43
    zzh7982  
       2021-01-23 14:01:47 +08:00
    我觉得你需要的是云电脑
    dangyuluo
        44
    dangyuluo  
    OP
       2021-01-23 14:04:53 +08:00
    @wobuhuicode 家里和公司都有宜家 Bekant,就是上下班不想携带任何东西,包括 Macbook Pro 。拿上车钥匙和手机就走人
    itgoyo
        45
    itgoyo  
       2021-01-23 14:27:32 +08:00
    其实所谓的开发环境直白点说就是 dotfiles 之类的配置,只要配置一样在哪里工作的效果不一样,如果知道我表达的意思的话,移动的系统比较麻烦,用 mackup [开源] +dropbox 吧,备份,恢复,这效率太快了
    好处是即便你重装系统,还有买新设备,这货都能很快把你的开发环境给弄回来,支持的 App 列表可太多了
    Sivan2017
        46
    Sivan2017  
       2021-01-23 15:10:16 +08:00
    @MaxLi77 可以做到从移动硬盘里直接启动系统吗?会不会突然间格盘?
    m4d3bug
        47
    m4d3bug  
       2021-01-23 15:10:57 +08:00 via Android
    synergy 跨屏穿越,m1 的 arm 架构当我没说
    MonkeyBro
        48
    MonkeyBro  
       2021-01-23 16:48:23 +08:00
    买个雷电 3 盒子和 nvme 固态,系统装进去即可,我元旦 320 买了个盒子,420 弄了个铠侠 RD20 500G,读写均 2000+M/S,写速比 MacBook Pro 原装硬盘还略快,现在里面装个 win10 pd 虚拟机,多个 Mac 随用随插
    winglight2016
        49
    winglight2016  
       2021-01-23 20:11:27 +08:00
    服务端 jupyter notebook/lab,可以保证界面和代码完全同步,支持的语言也不少,如果服务端能够快速自动部署,支持的开发环境就更多了。
    frantic
        50
    frantic  
       2021-01-23 20:16:12 +08:00
    千万别用 iCloud 同步,遇到 idea 自动生成的一些代码 同步起来超级耗时,也很占用网络
    hello2060
        51
    hello2060  
       2021-01-23 20:18:40 +08:00 via iPhone
    网盘同步的问题是,不能指定某些目录不同步。onedrive 理论上似乎可以,但我一直没搞成功。
    jiyuanz
        52
    jiyuanz  
       2021-01-23 20:44:31 +08:00
    说实话所有的方案都是有一定限制性的,甚至违背你方便的初衷。
    第一个需求我觉得 emmm,累了你应该好好休息(闭目养神听听歌啥的或者切换到其他类型的工作),而不是继续低效工作。
    第二点嘛说实话就带笔记本吧,这可能真的是最方便的方法了。
    oovveeaarr
        53
    oovveeaarr  
       2021-01-23 21:05:39 +08:00
    mstsc 或者虚拟机,二选一~
    Sin
        54
    Sin  
       2021-01-23 21:32:48 +08:00
    没人提 VSCode Online / GitHub Codespaces?
    现在自己台式机上搭了个 code-server 在用
    MaxLi77
        55
    MaxLi77  
       2021-01-23 21:38:33 +08:00
    @Sivan2017 没问题的,可以把 macOS 安装到移动硬盘里,换 mac 的时候从硬盘启动就行了
    miniers
        56
    miniers  
       2021-01-23 21:53:56 +08:00 via iPhone
    @heyjei #6 1t 的 sn550 加 3.2 的硬盘盒就够了呀,日常写 bug 基本感受不到和内置硬盘的区别😂成本 900 左右足够
    nomemo
        57
    nomemo  
       2021-01-23 22:12:21 +08:00
    你应该直接不用 mac mini,

    外接上大显示器和键盘,不就没这事了
    SergeGao
        58
    SergeGao  
       2021-01-23 22:58:24 +08:00
    感觉鸿蒙的分布式 OS 可以满足你的这个需求?鸿蒙系统的分布式 OS 架构有什么价值意义? - Eidosper 的回答 - 知乎
    https://www.zhihu.com/question/339737053/answer/795188699
    kingcos
        59
    kingcos  
       2021-01-23 23:02:24 +08:00 via iPhone
    Screen Sharing...
    sxd96
        60
    sxd96  
       2021-01-24 06:40:27 +08:00
    Tmux
    vem
        61
    vem  
       2021-01-24 16:24:09 +08:00
    我目前的方法是
    1 项目文件放坚果云同步, 下班到家肯定同步完了
    2 代码文件 Git 同步
    3 键鼠用同一款
    4 软件环境保持一致
    基本上挺同步的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2583 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 04:38 · PVG 12:38 · LAX 20:38 · JFK 23:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.