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

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

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

    一点背景,这两年一直是手持 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  
       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   ·   实用小工具   ·   2725 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:43 · PVG 23:43 · LAX 07:43 · JFK 10:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.