安利 wsl 给在用 Linux 的小伙伴~

2018-04-15 00:42:22 +08:00
 huskar

用 Linux mint 做后端开发还是很爽的,包管理很方便,还有 jetbrain 的 IDE 可以用。我司部署环境是 Debian,稍微搞一搞就能和部署环境一致了,大部分项目就可以直接本地启起来调试,非常方便(这应该是我喜欢 linux 最重要的原因了)。

linux 开发好用,但是日常使用就不方便了,QQ 就不说了,甚至一个好用的邮件客户端都没有… 最无奈的是会遇到些奇怪的问题,比如:

  1. 每次重启后搜狗输入法的待选词列表会不见,要手动换一次皮肤才会出现
  2. 有时候 WiFi 列表搜不到任何信号,得 service networking restart 一下
  3. QtCreator 里面输入不了中文(这个算已知问题,因为 fcitx 不支持 Qt5 应用,但是知道原因也解决不了…),只能在外面打好中文粘贴进去……

有些问题想解决搜都不知道怎么搜… 总体使用 linux 的感受就是凑合,为了开发方便舍弃一些日常需求,遇到了奇怪的问题,能忍受的就假装没看见… 记得有种说法是,windows 和 mac 是把用户当用户看,而 Linux 则默认用户是开发者。虽然我也算开发,可是我真的不懂 linux 的开发啊,遇到一些问题对我来说确实解决不了,甚至只能重装解决。折腾 linux 这些年都不知道重装了多少次系统了。

所以自从 windows 推出 wsl 我就挺感兴趣的,刚出来时就体验了一下,发现坑挺多的,就放弃了。但是一直关注着 wsl 的后续发展。前段时间 wsl 从 beta 变成正式 feature 并可以在 window 商店直接下载,就一直想再试用一下。于是上周重装了 win10。

这几天试用给我的感觉是,wsl 真的已经不是玩具了,基本可以满足我使用 linux 的所有需求。

举个例子,我有个需求是每天登陆一个网站自动听一些课程,是用 python 实现的。主要用到的就是 requests 模拟请求和 pytesseract 识别验证码(验证码很简单,ocr 就能搞定)。其实这需求在原生 windows 下也能搞定,但是我就是很抵触在 windows 下写 python …而且 tessract 在 linux 下安装就一条 apt install,在 windows 下还要看看博客才会安装,更是让我抵触。但是在 wsl 下就变得很简单啦。装好 wsl 后,几个 apt 和 pip 命令安装好依赖,原来的 python 脚本直接就能跑起来啦,感觉蛮爽的。 还有就是我用 hyper terminal+zsh,有着完全不输 mac 的终端体验,很棒。

所以郑重安利一下 wsl 给在用 linux 的小伙伴,欢迎交流~

20301 次点击
所在节点    程序员
189 条回复
chotow
2018-04-15 02:14:42 +08:00
WSL 不支持 Docker,囧。
huskar
2018-04-15 02:15:27 +08:00
@chotow 直接在 windows 下用 docker 呀。
wun
2018-04-15 03:16:49 +08:00
@huskar 光是依赖 nt 内核就很难受了
muziki
2018-04-15 06:16:49 +08:00
去年已经试装 bug102 次了,次次被喂屎,宁愿装 7 都不会碰 10 了,太垃圾
tamlok
2018-04-15 06:18:07 +08:00
Qt5 和 fcitx 的问题网上解决教程一搜一大把呀!
congeec
2018-04-15 06:42:43 +08:00
Linux 老鸟基本不会用 WSL 的。缺陷太多
不支持 Docker
磁盘 IO 慢
那个 Terminal 要一直开着,WSL 里的 services 才能工作
.....
goreliu
2018-04-15 06:43:05 +08:00
我以前也试图介绍 WSL 给 linux 用户,后来放弃了,多数情况不是因为 WSL 不能满足他们的需求,而是因为他们看不上 WSL,所以随便一个理由就可以将其全盘否定,即使那理由完全不成立。所以楼主要做好被无脑喷的准备。

常见理由:

一、不如用虚拟机( Docker 也是运行在虚拟机里)。
用虚拟机的最大问题在于文件互访问(以及进程相互调用)上,一般 Windows 用户会把多数数据存放在 NTFS 分区里,在虚拟机里访问只能用很低效的方式,这成了主要的性能瓶颈。除此之外,虚拟机会占用更多内存,而且只在某些性能测试中虚拟机优于 WSL (主要是 IO 相关和启动大量进程的场景)。

二、WSL 稳定性差。
早期的 WSL 稳定性确实差,甚至有一阵频繁写硬盘有大几率导致蓝屏的情况(某个预览版)。但最近的一些预览版稳定性没什么问题了。

三、WSL 功能不全。
目前除了和驱动相关的功能(比如硬件外设相关、底层网络操作),WSL 缺失的 linux 功能已经很少了,比如缺少某些不常用的 IPC、不支持 tmpfs 等,一般不会影响日常使用。

四、WSL 性能差。
和原生 linux 比的话,在性能测试的某些指标上的确是差一些的,但除了需要大量启动进程(比如编译较大软件)的场景,这种差距基本不能直观感受出来。如果编译软件是主要的应用场景,WSL 确实不大适合。

五、WSL 终端用户体验差。
原生的终端模拟器体验确实差,但可以用第三方的解决,这里就不打广告了。

六、因为是微软的,或者因为不开源。
不解释。

七、不如 Cygwin/MSYS2。
可以说在多数场景,WSL 是明显优于 Cygwin/MSYS2 的,除了需要编译 Windows 软件的场景(但用 MSYS2 的话,可以用 WSL 中的 archlinux 加 MSYS2 源,然后稍微折腾一下,用 /init 调用)。

八、没有折腾 linux 桌面(或其他方面)的乐趣。
他们通常是把 linux 作为玩具而不是工具的,所以我倾向于称他们为 linux 玩家而不是 linux 用户,WSL 的确不适合 linux 玩家,因为 WSL 是给人用的,而不是给人玩的。
goreliu
2018-04-15 06:53:04 +08:00
这里专门说一下 Docker,可以说 Docker 用户和 linux 用户完全不是一类人,用 Docker 就满足需求或者没有 Docker 就不知道怎么办了的用户,确实没必要用 WSL 了,因为 linux 基础过于欠缺了。
nightcat
2018-04-15 07:03:05 +08:00
@goreliu 我再添一个理由,字体渲染真 TM 丑
lzvezr
2018-04-15 07:03:43 +08:00
那我装个 x 好了
linux 桌面 firefox 必须使用私有驱动才能不闪屏,这很不 linux,所以拒绝使用,宁可用 wsl
goreliu
2018-04-15 07:10:52 +08:00
@nightcat 终端用户体验问题已经说了,换第三方终端模拟器。
lightening
2018-04-15 07:11:38 +08:00
我也觉得 WSL 挺好的,如果能用所有的命令行工具,完全可以取代 Linux 桌面。反正我用过 5 年左右 Linux 桌面,各种发行版都是试过了。结论:Linux 桌面是个笑话。
cheneydc
2018-04-15 07:27:47 +08:00
qq 我用 wine,然后……没有然后啦!
qdwang
2018-04-15 07:40:03 +08:00
@goreliu 讲得好全面👍
qdwang
2018-04-15 07:44:54 +08:00
个人桌面电脑是一个工具,工具当然是功能越多越好。一台电脑上装纯 macOS,纯 linux,都没有装纯 windows 功能多。功能最完整的可能是 windows+虚拟机虚拟 linux,但是 windows+wsl 也不错,功能就少一点点。
johnniang
2018-04-15 07:48:22 +08:00
Thunderbird 不好用,别逗了吧。甚至邮箱大部分都有网页版,完全满足日常使用。
zjqzxc
2018-04-15 08:21:43 +08:00
满足需求,符合习惯就好,没必要非得争个你死我活
Bardon
2018-04-15 08:24:12 +08:00
拿 wsl 做开发环境么?开玩笑,可能你们的需求,用 wsl 能满足...

在公司眼里,wsl 玩玩还行,这也是我的看法。他们只是 linux 玩家,只是想体验下 linux 的“乐趣”,所以就不用安装 linux。
des
2018-04-15 08:33:49 +08:00
@goreliu 还真是,所以现在基本不安利了

以及楼上说的体验乐趣,为什么不用虚拟机。
碰到问题了,大多是绝望而不是乐趣吧
muziki
2018-04-15 08:37:53 +08:00
@goreliu
1. 对比一下 linux 下 docker 和虚拟机中的 Linux 性能再说,作为一个 rust compiler contributer 我绝大多数编译工作都是在 docker 下完成,没发现明显的性能损失
2.不仅仅是 wsl 差劲,关键是你那烂爆的宿主 bug10,在某些软吹的安利下去年本人试过 2 次回归,结论:被 win7 完爆的残次品。可以搜搜 18 年初至今 v2 被 bug10 恶心的帖参观参观
3-5.特别是你最后一条,(爱折腾=>玩家)真是笑掉大牙,一个连基本的稳定开发环境都不能提供的东西在原生 Linux 用户眼里才是玩具谢谢

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

https://yangjunhui.monster/t/446914

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

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

© 2021 V2EX