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

2021-06-17 13:31:11 +08:00
einsdisp  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 比,能差多少?

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

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

用了一会,,感觉,,linux 的窗口都挺丑,好像是默认的 gtk,缩放还是有问题,没有中文字体,要自己装。
clf
clf
2021-06-17 14:02:31 +08:00
Jetbrains+Docker 的方案应该更好?
jswh
jswh
2021-06-17 14:08:32 +08:00
wsl 目前的影响日常使用体验的,其实是磁盘性能,尤其是小文件一多。
bthulu
bthulu
2021-06-17 14:13:34 +08:00
并不能, 这就是个小玩具, 别想拿来当生产力
BeautifulSoap
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
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