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

2022-02-18 23:05:49 +08:00
 leishi1313

一点背景,这两年一直是手持 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 或者第二电源键应该是可以的,但是要折腾硬件 /另外花销

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

5839 次点击
所在节点    程序员
22 条回复
lscho
2022-02-18 23:41:53 +08:00
win 就别想了。把 amd 换成 linux ,一切都很美好
BeautifulSoap
2022-02-19 00:08:51 +08:00
lz 你可以直接创建个 Linux 的 Hyper-V 虚拟机,虚拟交换机选择 "外部网络" 这样你虚拟机就能直接拿到局域网 ip ,之后你想远程怎么玩就怎么玩了
mawerss1
2022-02-19 01:02:35 +08:00
虚拟机 运行 tailscale
initd
2022-02-19 01:06:13 +08:00
考虑网络环境,就国外 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
2022-02-19 01:11:05 +08:00
最近安装 System76 OS ,发现有 HiDPI 支持,而且理念是专注工作,确实是专注的设计,可以试试。
ericguo
2022-02-19 01:15:21 +08:00
键盘鼠标屏幕不是都在本地么?键盘鼠标事件到远端服务器兜一圈回来都是有延时的啊。。

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

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

3.服务器放公司。

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

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

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

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

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

WSL 2 也是可以获取外部 IP 的,具体看我的帖子 /t/831048 但是这是微软尚未公布的特性,据我使用下来还是有 bug ,比如开机时间过长 WSL 2 就会切回去和宿主 win 共享一个 IP ,暂时还没找到原因,不建议使用
dayeye2006199
2022-02-19 06:56:37 +08:00
单系统 linux ,安装 tailgate ,vs code remote development 套件什么问题都没有,最佳体验。
你台式机有显卡之类的不要折腾 windows 上的虚拟机了,单系统 linux 解决你所有问题。
MoeMoesakura
2022-02-19 07:44:21 +08:00
wsl2 端口转发你直接用 Gost/Brook 之类专门转发的工具
(不过建议还是 Ubuntu Server 直接用)
wzxlovesy
2022-02-19 08:08:06 +08:00
我在用 proxmox ,上面建个 win vm 运行一些桌面程序,其他开发环境都是 containe
wzxlovesy
2022-02-19 08:08:26 +08:00
*container
hm20062006ok
2022-02-19 08:22:07 +08:00
3.getway 我用过,sever ide 上的 md 文件不能在本地 ide 渲染。拖放文件进本地 ide 后不能自动上传到 sever 。vs code remote 好点,没上面的问题
shiganwuguo
2022-02-19 09:53:55 +08:00
Nomachine
seakingii
2022-02-19 11:03:20 +08:00
todesk,向日葵,不整那些有的没的
knives
2022-02-19 11:05:58 +08:00
你的开发环境不依赖 Linux 的话,可以直接在 Windows 上安装 OpenSSH ,远程直接用 VSCode Remote 就能解决大部分开发需求。
yangzzzzzz
2022-02-19 16:26:41 +08:00
俺一个 mba 走天下,实在性能不够了才开 win 。不过 win 开发环境装好到现在没用过几次
leafre
2022-02-19 16:39:20 +08:00
折腾

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/834938

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX