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 比,能差多少?

12570 次点击
所在节点    程序员
81 条回复
raaaaaar
2021-06-17 13:39:06 +08:00
怎么说呢,有些命令,文件啥的和真正的 Linux 还是有区别的,经常有些文件,命令不存在啥的
AoEiuV020
2021-06-17 13:39:33 +08:00
最近在用 wsl2+vcxsrv 搞 Linux 环境安卓开发,最大问题是输入法不支持,其他没感觉比直接 window 差,但理论上是肯定有差距的,
lawfun
2021-06-17 13:42:50 +08:00
@AoEiuV020 WSL2 连接不了 USB 设备,你那怎么使用 adb 的
rububio
2021-06-17 13:46:38 +08:00
现在 wslg 稳定性挺差的,再等等吧,现在时不时 Linux 图形程序就打不开了,报错 connection refused,需要重启 wsl 或者重启系统才能解决。。
MakeItGreat
2021-06-17 13:47:00 +08:00
如果你是因为远程桌面,可以虚拟机里 linux 啊
3dwelcome
2021-06-17 13:48:33 +08:00
去 github 上看了一下 WSLg, 原理就是一个远程桌面,把 linux 内部 GUI RDP 远程到 windows host 上。

如果只是 vs code/jetbrains,那用 exe 版本也没什么问题吧。
sunny2580839896
2021-06-17 13:48:57 +08:00
systemctl 貌似不能用
also24
2021-06-17 13:51:39 +08:00
@lawfun #3
可以直接用 adb.exe
no1xsyzy
2021-06-17 13:51:54 +08:00
init 进程是 WSL 自己的,所以相应的一堆东西没得用
dbus 支持诡异
输入法得 WSL 内和 Windows 内各自装一套
WSL2 的话防火墙需要仔细配置一下,并且 IP 会变,倒不是不能解决,但也就那样吧……
no1xsyzy
2021-06-17 13:54:21 +08:00
对了,
VS Code 可以把 WSL 当 remote,基本没什么异样感
JB 付费版也可以,但完成度据说还不如 VSC
wangsd
2021-06-17 13:58:16 +08:00
感觉没有 Windows 下快
hwdef
2021-06-17 14:01:35 +08:00
此时此刻, 2021.6.17,是不可用的,也不是正式版,还是 dev,甚至都不是 beta,,,

用了一会,,感觉,,linux 的窗口都挺丑,好像是默认的 gtk,缩放还是有问题,没有中文字体,要自己装。
clf
2021-06-17 14:02:31 +08:00
Jetbrains+Docker 的方案应该更好?
jswh
2021-06-17 14:08:32 +08:00
wsl 目前的影响日常使用体验的,其实是磁盘性能,尤其是小文件一多。
bthulu
2021-06-17 14:13:34 +08:00
并不能, 这就是个小玩具, 别想拿来当生产力
BeautifulSoap
2021-06-17 14:13:56 +08:00
不一定要用 WSLg,传统的 vcxsrv 运行 GUI 方法你也能用在 wsl 上(和 windows 没有过多文件硬件交互的话,推荐直接上 wsl2 )
总体来说这类方法最大问题还是在输入法,你没法直接用 windows 输入法在 linux 的 gui 里输入文字,你需要在 wsl2 或虚拟机里配置 linux 的输入法
对输入法的不便能接受的话,那么 lz 基本能大致完美替代 Linux 的开发了(对 systemd 有刚需的话 wsl2 可能比较折腾)
LokiSharp
2021-06-17 14:13:58 +08:00
直接用 Linux 虚拟机开发不就好了
AoEiuV020
2021-06-17 14:25:31 +08:00
@lawfun 我 windows linux wsl 一直都是 wifi 远程 adb 连手机的,
NIYIKI
2021-06-17 14:29:01 +08:00
不能
Dragonphy
2021-06-17 14:34:46 +08:00
1. GUI 缩放不行;
2. VSCode 开发的话不需要 GUI,直接用 remote 插件就行了,我一直用 WSL2 做前端开发,windows 桌面 IDEA

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

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

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

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

© 2021 V2EX