Win10 的 WSLg 能否完美替代 Linux 下日常开发?

2021-06-17 13:31:11 +08:00
 einsdisp

我之前一直是在 linux 下开发( go/node/python/java 都有,但不涉及机器学习这种需要显卡的开发),积累了大量的 shell 脚本、工具链、程序、配置等,日常使用 vs code 或者 jetbrains 开发。

这么多年了,linux 的图形界面的稳定性一直挺烂的,但考虑到其生态系统与命令行的强大,一直忍了下来,偶尔桌面崩溃,或者图形界面的 bug 啥的,倒也可以忍受。

直到最近几个月常常需要远程桌面办公,linux 下就没一个好用的远程桌面,效果比微软自带的 RDP 差远了,这件事促使我决定迁移到 win10 。

虽说很多软件与编程语言的工具链,有 windows 原生版本,但我基本不考虑,只考虑 wsl,一来,我原先在 linux 下积累的大量的脚本、程序、配置,不想再重新搞一遍,二来,原生 win 下,win 的路径分隔、win 系统对 utf8 的支持烂,这些对编程并不友好。

想问问,目前阶段,WSLg 能否完美替代 Linux 下日常开发?运行 vs code 或者 jetbrains 的图形界面,运行各种编程语言的工具链,性能跟原生 linux 比,能差多少?

12087 次点击
所在节点    程序员
81 条回复
charlie21
2021-06-17 15:15:34 +08:00
win 10 远程桌面很好
WSL 里使用 linux 工具链很好( win 作为宿主机)
WSL 本身可以安装一个 xfce 桌面环境,然后( win 作为一端) xrdp 3389 端口连进去( WSL 作为远程桌面的另一端)。这种方案相当于远程连接到任何一台 linux 电脑
参考 zhihu.com/question/350529856/answer/1237413438 内置 WSL 2 的 Windows 10 可以完全取代桌面版 Linux 吗

WSLg 本身和 WSL 耦合得太紧了,故而不值得用
thunderw
2021-06-17 15:17:37 +08:00
ysn2233
2021-06-17 15:23:06 +08:00
我现在用 vcxsrv 配 wsl2 下的 ide 开发就和 linux 下没什么区别了
silkriver
2021-06-17 15:25:36 +08:00
Linux 下远程桌面服务端程序用 xrdp,客户端程序用 remmina,我觉得比微软自带的 RDP 强
surfwave
2021-06-17 15:35:03 +08:00
WSL2 时不时就自动更换 IP,很麻烦,不推荐了。
hzjseasea
2021-06-17 15:37:42 +08:00
替代可以,完美不行
LokiSharp
2021-06-17 15:38:48 +08:00
WSL 是个残废,WSL2 就是个阉割版虚拟机
lxrmido
2021-06-17 16:00:01 +08:00
不能,设备经常变来变去,三天两头就要 winsock reset 一次才能连上网,配置好的端口、IP 绑定经常失效。推荐 VSC 的 ssh remote 开发,配合 vsc 内置的终端还是很好用的。
Nerv
2021-06-17 16:02:57 +08:00
ubuntu 的图形界面稳定性本来就堪忧,再套上个 wsl2,真的是 bug 多到飞起,至少现在是这样。
Kaisar
2021-06-17 16:11:54 +08:00
linux 下远程桌面用 vnc 目前用起来没什么问题啊 或者说问题不大
zjsxwc
2021-06-17 16:17:31 +08:00
不能,还不如直接 win 下开虚拟机玩 linux,
或者继续 linux 下开虚拟机玩 win

我选择后者。
sleepm
2021-06-17 16:18:45 +08:00
@lxrmido 下载个 uu 加速器,找齿轮菜单里的网络工具,修复 lsp,不重启就好了,不用 winsock reset

几年用 ubuntu 开发,桌面没崩过,见过最多的错误是 wps 的,不影响使用(大学几年用的 fedora,也很稳定)
远程桌面 anydesk todesk rustdesk + zerotier 还是可以的
在家 wsl2,文件在 wsl2 里速度快,在挂载的 /mnt 下就比较慢,有时候会怀疑人生,变 ip 是痛点,不过可以写脚本设置自动更新 ip 到 win10 hosts
polaa
2021-06-17 16:27:08 +08:00
我现在的方式是 vscode 通过 remote ssh 进行开发
Pycharm 也是设置 remote deployment 环境

ubuntu 装的 server 版 没有 GUI

感觉良好
hihanley
2021-06-17 17:32:09 +08:00
Java 开发,一直 Win10 + VMWare,装 Ubuntu Server,然后用 Jetbrains 的 Projector 开发,Projector 越来越好用了,中文输入也快支持了。
偶尔也用 VSCode SSH Remote,写 JS,Python,Go
JustRuning
2021-06-17 17:35:27 +08:00
用过一段时间,最大的问题是 IO 问题,当挂载的文件过多的时候挺别慢。
johnsona
2021-06-17 17:38:32 +08:00
不能 双系统虚拟机拉倒
MiniUniverse
2021-06-17 17:50:08 +08:00
Manjaro 欢迎你
zone10
2021-06-17 17:56:03 +08:00
最好的 Linux: Docker + VS Code Remote Containers
次好的 Linux: Ubuntu Server + VS Code Remote SSH
aristolochic
2021-06-17 18:38:07 +08:00
目前可公开的情报( x

以下仅针对 WSL2

GUI 的话 WSLg 倒是挺好用的,就是会设置奇怪的 XDG Runtime 目录环境变量,而且加了个库不是软链接,Arch 每次更新会提示比较烦;
Systemd 的话现在 Genie 已经比较成熟了,没遇到什么坑,除了需要放弃在 WSL 里挂载 Windows 文件系统的能力(说起来我用的 zsh 配置由于会高亮路径,要检查 Windows 的目录,结果就是输入有肉眼可见的延迟。用了 Genie 后由于没有 Windows 目录了,体验反而上升了,这才知道是什么原因。
USB 的话还得自己折腾网络方案,每次需要自己折腾 USB 的时候就想到之前 WSLg 没出的时候配置音频的痛苦,就觉得自己用 WSL 是为了省时间的,就放弃了;
嵌套虚拟化的话近期更新的内核默认开启了 KVM,但目前 Libvirt 是不行的,会嫌弃 WSL 没有设备信息(当然没有)然后 error,不知道其他怎么样,比如手动拼接 QEMU-KVM 命令能不能行,我是懒得折腾了。
alexkkaa
2021-06-17 18:40:30 +08:00
个人觉得 gnome 现在已经很好了

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

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

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

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

© 2021 V2EX