2022 年,怎样才是家用远程开发的正确姿势? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
leishi1313
V2EX    程序员

2022 年,怎样才是家用远程开发的正确姿势?

  •  
  •   leishi1313 2022-02-18 23:05:49 +08:00 6717 次点击
    这是一个创建于 1362 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一点背景,这两年一直是手持 M1+NUC8 ,然后在 NUC8 上跑VS Code Server进行开发的。最近新配了台 AMD Yes !作其他低频用途。但是放着这么强的 U 不做开发有点浪费,于是琢磨着怎么在 Win 上搭建远程开发的环境,折腾了 2 天还是没有满意方案,想问问大家有什么想法?到目前为止,折腾过

    1. Win 装 WSL 2 ,然后

      • 端口转发:PowerShell 端口转发脚本没成功,而且指定端口转口限制比较大

      • 把 Win 的 SSH Server 的 SHELL 换成 WSL 2 的 bash:ssh 成功,但是 VS code/Jetbrain 的 SSH remote 配置都没跑通,VS code 是因为 websocket 没连上,猜测还是需要端口转发,喷射大脑报错给了一堆 log 文件,也没细看

    2. Win 装虚拟机,然后端口转发?应该可行,作为备选,但还是不够灵活

    3. 原生的远程开发,JetBrains 家的 Gateway 应该可以,但是现在只支持 Linux 。Fleet 又太早了,现在根本没什么功能

    4. Win 机装双系统,体验可能最好,但是因为 Win 机没装键鼠显示器,每次切换系统还要从其他地方拔下来。IPMI/KVM 或者第二电源键应该是可以的,但是要折腾硬件 /另外花销

    综上,还有什么值得尝试的方案吗?或者大家都是怎么在家远程开发的?

    第 1 条附言    2022-02-19 08:09:29 +08:00
    初步试下来 hyper-v 的 external switch 不错,我再深度用用
    22 条回复    2022-02-19 23:04:17 +08:00
    lscho
        1
    lscho  
       2022-02-18 23:41:53 +08:00   1
    win 就别想了。把 amd 换成 linux ,一切都很美好
    BeautifulSoap
        2
    BeautifulSoap  
       2022-02-19 00:08:51 +08:00
    lz 你可以直接创建个 Linux 的 Hyper-V 虚拟机,虚拟交换机选择 "外部网络" 这样你虚拟机就能直接拿到局域网 ip ,之后你想远程怎么玩就怎么玩了
    mawerss1
        3
    mawerss1  
       2022-02-19 01:02:35 +08:00
    虚拟机 运行 tailscale
    initd
        4
    initd  
       2022-02-19 01:06:13 +08:00 via Android
    考虑网络环境,就国外 2C 2G VPS

    本地主机 用 Cloudflared Tunnel 映射到公网
    使用参考 argo.moz.one ingress.moz.one

    macOS
    cdr/code-sever + 标准账户 + RemoteControl(兼容 VNC)

    ubuntu
    cdr/code-server + VNC

    没用 win 开发

    开机
    华硕路由器 WOL ,要求电脑上一次正常关机
    之前有公网 IP 可以用华硕 DDNS ,非常好用,直接 CNAME
    现在没有,可以用猫盘 /NAS 等常启设备运行 cloudflared ,
    反代局域网 IP 即可。

    远程开发,不行
    远程办公,行
    initd
        5
    initd  
       2022-02-19 01:11:05 +08:00 via Android
    最近安装 System76 OS ,发现有 HiDPI 支持,而且理念是专注工作,确实是专注的设计,可以试试。
    ericguo
        6
    ericguo  
       2022-02-19 01:15:21 +08:00
    键盘鼠标屏幕不是都在本地么?键盘鼠标事件到远端服务器兜一圈回来都是有延时的啊。。

    远程开发的正确姿势就是是不上班在家开发,楼主已经做到了啊!
    documentzhangx66
        7
    documentzhangx66  
       2022-02-19 04:18:45 +08:00
    1.能用洋垃圾服务器,一定要洋垃圾。

    2.如果工作内容并不是以高性能为主,服务器全上虚拟化,比如 VMware 的 ESXi 。

    3.服务器放公司。

    4.开发环境、测试环境、开发用数据库、开发用仓库等等,都放在服务器里。

    5.再搞台便宜主机,拿来当备份机。一定要做好自动备份。

    6.公司里的电脑,以及家里的电脑,买最低配置,当成跳板机,用来连接到服务器,显卡要能支持多显示器输出的。显卡大概是 500 多元二手的,有 4 个显示输出。

    7.用虚拟局域网之类的软件,把家里的电脑、公司电脑、公司服务器,组成一个虚拟局域网。
    kwanzaa
        8
    kwanzaa  
       2022-02-19 05:14:54 +08:00
    WireGuard
    lemontv
        9
    lemontv  
       2022-02-19 05:55:05 +08:00   1
    Win 装虚拟机,用自带的 hyper-v 就行,改一下网络配置,获取一个本地 IP ,不需要转发端口。

    https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/about/
    leighton
        10
    leighton  
       2022-02-19 06:43:27 +08:00   2
    如上所说 Hyper-v 加 External Switch 是最佳方案

    WSL 2 也是可以获取外部 IP 的,具体看我的帖子 /t/831048 但是这是微软尚未公布的特性,据我使用下来还是有 bug ,比如开机时间过长 WSL 2 就会切回去和宿主 win 共享一个 IP ,暂时还没找到原因,不建议使用
    dayeye2006199
        11
    dayeye2006199 &nbs;
       2022-02-19 06:56:37 +08:00
    单系统 linux ,安装 tailgate ,vs code remote development 套件什么问题都没有,最佳体验。
    你台式机有显卡之类的不要折腾 windows 上的虚拟机了,单系统 linux 解决你所有问题。
    MoeMoesakura
        12
    MoeMoesakura  
       2022-02-19 07:44:21 +08:00
    wsl2 端口转发你直接用 Gost/Brook 之类专门转发的工具
    (不过建议还是 Ubuntu Server 直接用)
    wzxlovesy
        13
    wzxlovesy  
       2022-02-19 08:08:06 +08:00 via Android
    我在用 proxmox ,上面建个 win vm 运行一些桌面程序,其他开发环境都是 containe
    wzxlovesy
        14
    wzxlovesy  
       2022-02-19 08:08:26 +08:00 via Android
    *container
    hm20062006ok
        15
    hm20062006ok  
       2022-02-19 08:22:07 +08:00 via iPhone
    3.getway 我用过,sever ide 上的 md 文件不能在本地 ide 渲染。拖放文件进本地 ide 后不能自动上传到 sever 。vs code remote 好点,没上面的问题
    shiganwuguo
        16
    shiganwuguo  
       2022-02-19 09:53:55 +08:00 via Android
    Nomachine
    seakingii
        17
    seakingii  
       2022-02-19 11:03:20 +08:00
    todesk,向日葵,不整那些有的没的
    knives
        18
    knives  
       2022-02-19 11:05:58 +08:00
    你的开发环境不依赖 Linux 的话,可以直接在 Windows 上安装 OpenSSH ,远程直接用 VSCode Remote 就能解决大部分开发需求。
    yangzzzzzz
        19
    yangzzzzzz  
       2022-02-19 16:26:41 +08:00
    俺一个 mba 走天下,实在性能不够了才开 win 。不过 win 开发环境装好到现在没用过几次
    leafre
        20
    leafre  
       2022-02-19 16:39:20 +08:00
    折腾
    t123yh
        21
    t123yh  
       2022-02-19 17:23:00 +08:00 via Android
    装个 Ubuntu ,然后配好 xrdp ,从 mac 上用 rdp 连就行了
    neohob
        22
    neohob  
       2022-02-19 23:04:17 +08:00 via iPhone
    zerotier 不行吗?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5810 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 22ms UTC 02:26 PVG 10:26 LAX 18:26 JFK 21:26
    Do have faith in what you're doing.
    ubao msn 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