V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
huskar
V2EX  ›  程序员

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

  •  
  •   huskar · 2018-04-15 00:42:22 +08:00 · 19908 次点击
    这是一个创建于 2399 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用 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 的小伙伴,欢迎交流~

    第 1 条附言  ·  2018-04-15 10:03:40 +08:00
    1.需要在 linux 下做开发的,很大一部分是是服务器开发吧,包括 web 后端,游戏后端等等。就我的经验来说,这类开发需求转向 wsl 是没问题的。其他类的比如 CUDA 等我不了解,有试过的可以说下。
    2.对于 docker,我觉得 wsl 本身的目的就不是提供一个 linux 内核,所以估计以后 wsl 也不会加入对 docker 的支持。如果核心需求是 docker,还是别寄希望于 wsl 了。以此吐槽 wsl 我觉得也是不公平的,这本来就不是它想解决的问题呀😂
    189 条回复    2018-11-01 01:26:58 +08:00
    1  2  
    msg7086
        101
    msg7086  
       2018-04-15 11:21:52 +08:00
    @gnaggnoyil 更新重启已经无法接受了。
    至于发行版固定软件版本,是很正常的行为,所有的发行版都是这样,不是只有 Redhat。
    Redhat 也不会不让你编译其他 GCC 用的嘛。
    digimoon
        102
    digimoon  
       2018-04-15 11:24:33 +08:00
    win10 自带了 hyper-v 啊,里面装个 linux 不比 wsl 好吗?
    doubleflower
        103
    doubleflower  
       2018-04-15 11:31:06 +08:00   ❤️ 2
    从来没在 linux 上遇到问题过。。。

    另外 LZ 说重装 Linux 远远大于 Windows,这水平还是用回 windows 吧
    blackshadow
        104
    blackshadow  
       2018-04-15 11:31:22 +08:00
    wsl 这么好用的吗? 看来有时间的时候去试试。不过,我差不多也是四年 linux 系统用户(生活完全使用 linux )。楼主说的 QQ 等工具无法在 linux 上使用,我推荐 CrossOver,微信、qq、kindle for PC 等常用的应用都是可以的。我也很喜欢 win10, 等有时间再去折腾一下。
    goreliu
        105
    goreliu  
       2018-04-15 11:35:36 +08:00   ❤️ 4
    @msg7086 没有一个能满足多数人需求的操作系统能做到足够简单,认为系统足够简单,只是因为没有看到背后的复杂性。我是搞 linux 运维开发的,几年时间大把精力都花在解决 linux 问题上了,我手动登录排查过问题的机器数以千计,因为代码是开源的,所以问题容易处理,这是个常见的误区。解决问题的前提是定位问题,而定位问题的难点就是让问题可稳定复现,linux 下容易出现各种难以稳定复现的问题,这个是最让人头疼的,而且因为 linux 环境的定制性强,每个人遇到的问题可能都不大一样(比如不同内核版本和软件版本配合会产生不一样的问题)。在这一点,虽然不能说 Windows 要好很多,但 Windows 的庞大用户群是一个很大的优势,即使发生几率很低的问题,也容易被别人撞上,那就要省好多精力。
    huskar
        106
    huskar  
    OP
       2018-04-15 11:42:14 +08:00 via Android
    @msg7086 更新重启对于桌面系统为何是不可接受的呢?你需要的究竟是什么样的桌面系统……
    goreliu
        107
    goreliu  
       2018-04-15 11:46:16 +08:00   ❤️ 1
    @msg7086 举一个例子,我遇到过一个非常棘手问题,IBM x3650 M3 机器上的 sshd 进程偶尔会 D 掉,除了重启没有恢复的方法,发生概率很低(大概小于每个月 1 / 100000 的机器),无法稳定复现。已经 D 掉的进程是无法调试的,也没留下任何错误日志。如果只是 sshd 进程这样还好,我写的某一个很重要的 agent 也会出现同样的问题,agent 挂掉后会影响业务,有些机器是不能重启的,所以很麻烦。

    像这样的问题,看源码可以说是完全没有帮助的。很多 linux 下的问题就是类似这样的。
    plko345
        108
    plko345  
       2018-04-15 11:48:44 +08:00 via Android
    @debuggerx 哈哈,你的简历很有说服力,感觉他们对两个系统并没有多少认识,却硬要进行深入的对比,个人体验而已,又不是研究过的,观点实在很难让人信服
    msg7086
        109
    msg7086  
       2018-04-15 11:51:25 +08:00   ❤️ 1
    @goreliu 可能定位问题来说 Linux 不简单,但是 Windows 常常会更困难。
    而且之前我说的也是开源可以让问题更容易解决,而不是更容易定位。比如 Windows 上你发现了一个 Bug,接下来怎么办,只能听天由命了吧。难道加入微软,用自己的双手改变世界?
    Linux 至少你还有机会去尝试解决问题,当然我们先不说有没有能力解决。这我不认为是误区,而是开放源代码以后可以推导出的结论。

    至于你提到的复现,我也可以来说说。Linux 定制性很强没错,但是结构比 Windows 简单多了。把系统打成镜像,然后替换法,加减法,至少你是「可以」去想办法缩小问题范围的。
    Windows 呢,当然也可以先打成镜像,但是由于驱动的关系,你只应该在原始硬件上启动镜像(放进 VM 重装了驱动说不定就没的复现了)。然后你怎么定位问题呢,比如我自己遇到过的 Windows Update 突然报错无法升级的问题,你能把自动更新组件删了重装吗?

    庞大用户群的确是优势,但不总是能解决问题。比如我之前遇到的 /t/444426 全球有多少人遇到过呢……最后问题还是没根治,都是靠 Workaround 来解决的。

    说了这么多,其实并不影响我是重度 Windows 用户这个事实。只不过他原本可以做得更好的……
    gnaggnoyil
        110
    gnaggnoyil  
       2018-04-15 11:51:33 +08:00
    @msg7086 和是不是"正常行为"无关,问题是上了红帽子的贼船就没别的可以选,可折腾的余地还不如巨硬.换 GCC 这样的基础组件要费的精力差不多就等同于再走一遍 LFS 了,特别是 GCC5 及以上和 GCC4 之间的默认 ABI 差距巨大.而以折腾 LFS 的精力去折腾 win10 早就把 win10 折腾出花了——至少 WSL 还能随便换 distibution...

    @msg7086 可以通过按部就班的步骤来定位 bug 这个纯粹只和软件设计有关啊……和是否是 OSS 没有必然联系啊.就算是个 OSS 如果软件本身把所有的 config 都写死在源码里了你还能奈何?
    fireapp
        111
    fireapp  
       2018-04-15 11:51:39 +08:00 via Android
    centos 7 好用, 不用折腾,搞不懂你们工作中竟然要用 QQ 😺😺
    lhc70000
        112
    lhc70000  
       2018-04-15 11:54:14 +08:00
    - 不能自由选择发行版,不能自由更新系统和包
    - 没有能用的终端,tmux/vim/emacs 稍微 fancy 一点配置的就各种显示错乱了
    msg7086
        113
    msg7086  
       2018-04-15 11:55:37 +08:00
    #107 @goreliu 这个例子里源码的确是没有帮助的。
    不过说实话,进 D 已经说明是内核附近出了什么毛病了,放到 Windows 上,IO 挂掉一样会难以调试。
    这已经和软件本身的源码是否开放无关了……
    我之前提的,主要是普通用户环境下的问题。
    goreliu
        114
    goreliu  
       2018-04-15 11:56:46 +08:00
    @msg7086 定位问题是解决问题的前提,我能准确定位的问题没有一个是没解决了的,无论在 linux 还是 Windows。我给 WSL 反馈了数个 bug,后来都被解决了。结构简单只是表象。
    msg7086
        115
    msg7086  
       2018-04-15 12:00:52 +08:00
    #106 @huskar 需要长期运行,保证上下文不被打断的环境。

    比如我平时业余工作需要开三五个 Excel 十多个资源管理器 二十多个其他的软件窗口,而且都是长期在用的。然后大量的繁重计算任务,会放在睡觉的时候跑。背后还要跑 Linux 虚拟机。

    更新后重启没问题,但是我希望每隔两三个月所有的工作告一段落的时候,等我把虚拟机关掉,数据总结好保存关闭了,再统一打补丁重启。
    secondwtq
        116
    secondwtq  
       2018-04-15 12:05:30 +08:00   ❤️ 1
    楼上说字体渲染不好,Terminal Emulator 不好的

    我用 WSL 的时候跑了个 X,然后在上面跑 urxvt 还是 termite 来着,顺手还跑了个 Firefox
    三百六十度无死角螺旋完爆所有免费的 Windows 终端
    对,我不是说微软的东西就是垃圾,但是 Windows 那个 cmd 还真就是垃圾
    goreliu
        117
    goreliu  
       2018-04-15 12:06:07 +08:00
    @msg7086 普通用户环境问题的话,我有一阵用的 linux 桌面系统,大概平均 2 个月要 kernel panic 一次,因为没办法稳定复现,在网上也没搜到类似反馈,依然没法解决,我不可能去读 linux 相关代码来解决这个,即使有能力解决,也没办法验证是否真的解决了。但在工作中用 Windows 的时候没出现过类似情况。我举这个例子是想说不是有了源码是万事大吉了,一切问题就迎刃而解了,很多时候有没有源码没那么重要。我解决过不计其数的问题,很少需要看软件源码。我说的解决问题不是给软件修 bug,而是避免 bug 影响到自己,而且很多情况并不是通常的 bug,只是作者没考虑到某些特殊情况。
    msg7086
        118
    msg7086  
       2018-04-15 12:06:22 +08:00
    @gnaggnoyil 红帽发行版和 Windows 发行版是一样的。
    Linux 至少你想要新的可以选 Debian Arch,想要稳的可以选 RH。

    Windows 发行版也不会给你把系统内的组件乱升级,三哥掌控以后的 Windows 除外。

    Config 写源码里那更简单了,扒下源码改配置编译安装一气呵成岂不美哉。
    jemyzhang
        119
    jemyzhang  
       2018-04-15 12:06:47 +08:00 via Android
    摒除 wsl 的效能不说,目前没有需要 window 的场景,从公司办公到家里,路由器,nas,pc,手机,机顶盒,全部 linux,妥妥的
    msg7086
        120
    msg7086  
       2018-04-15 12:12:02 +08:00
    @goreliu 我理解你说的。
    Kernel Panic 无法解决主要是因为 Kernel 源码涉及太多东西了,本来就难以排查,这个也是正常。Windows 的内核我觉得做得很不错了,坑爹的地方在于应用层面。你发现的 Bug 上报后都处理了那是很好,可惜我并没有这个福气,Windows Update 导致无法更新系统的问题,我在整整 2 年无法更新系统后,最终只能选择重装了事。没有任何排查手段,没有任何详细的错误信息,完全无法下手去尝试任何东西,这是很无奈的。

    可能你我的立场不同也有关系,你主要是运维,而我主要是开发,所以读源码对我的影响要比对你的更大一些。(不过我觉得可能有些跑题了……
    goreliu
        121
    goreliu  
       2018-04-15 12:25:33 +08:00
    @msg7086 事件查看器之类地方可能有些线索,但还是重装或者手动下载新版本系统更新更省事些。因为在 Windows 下我很少遇到自己需要深入了解系统才能处理的问题,通常上网一搜就有知道了,所以我也没有动力去深入了解。但也不是说就没有办法深入了解 Windows,还是有一整套方法可以具体定位问题的。

    另外我认为用 Windows 不要太在乎某些看上去不大舒服又没有什么实际影响的小问题上,因为这个花费大量精力不值得。
    msg7086
        122
    msg7086  
       2018-04-15 12:26:05 +08:00
    我主要想表达的观点,不是说微软的东西不好,或者闭源的东西不好等等。
    我想说的是,不同的人对系统,对环境,有不同的要求和喜好。安利 OK,但是也要顾及到有些 WSL 无法满足或者无法让人满意的因素。我提出的不用 WSL 的理由,也是希望读者可以从反面的角度去观察这些事物。
    goreliu
        123
    goreliu  
       2018-04-15 12:35:41 +08:00
    @msg7086 我从带 WSL 的第一个 Windows 预览版一直用到(开始时没法用,只能随便玩玩)现在,基本到 Build 17093 后,我的所有需求才能正常满足。现在用得很舒服,但我不想推荐任何人用了,其实这个就像在多数人都在用 Windows 时,给别人推荐 linux 差不多,很容易让人反感。
    goreliu
        124
    goreliu  
       2018-04-15 12:41:11 +08:00   ❤️ 1
    @msg7086 我也能理解为什么时常有人推荐 WSL,这个就像明明有干净的自来水可以用,别人都费劲去井里提水,然后想办法净化一样,看着就着急。但这也是自己心态的问题,就和几天前说看别人在 vim 里用方向键不舒服差不多,如果不能调整好心态,这样的事情是难免的。
    huskar
        125
    huskar  
    OP
       2018-04-15 12:50:38 +08:00 via Android
    @goreliu 大佬有没有兴趣拉个 wsl 的群,让爱好者们有个讨论问题的地方😂
    hsuan
        126
    hsuan  
       2018-04-15 12:51:42 +08:00
    求个 WSL 教程,不知道怎么用
    goreliu
        127
    goreliu  
       2018-04-15 13:02:35 +08:00
    @huskar 没有什么兴趣,也没有动力整理这些。
    abcdabcd987
        128
    abcdabcd987  
       2018-04-15 13:03:53 +08:00
    附上官方博客: https://blogs.msdn.microsoft.com/commandline/

    看到这个博客之后对 WSL 好感大大增加,感觉至少现在微软还是很重视开发者的体验的,WSL 以及其他 Windows command line tools 都在进步。

    我甚至打算下一台电脑不买 mac 了,干脆入 X1 Carbon 2018 好了。我觉得 macOS 真的非常好,可惜新的键盘不给力。我现在已经很难回到 Linux 桌面了,因为电脑不止是用来写代码的,听歌、上 QQ、上微信、看论文、做 slides、处理照片……在 Windows / macOS 上这些都能做,商业软件都可以用,像 QQ 微信都有客户端,听歌的也都有客户端,macOS 上虽然 Pages 和 Numbers 不太好用,但是我觉得 Keynote 用的还是很舒服的,另外 Windows 和 macOS 还有强力的 Office 可以用,Adobe 全家桶也有。

    我觉得,这些交钱就能用的东西,用起来真的省心很多,何况很多东西跟开源替代品的差距非常大(比方说 Office 和 Adobe 全家桶)。既然 Linux 回不去了,那我就只能 macOS 和 Windows 两个选了。要是 WSL 能发展得像 macOS 上原生的 unix 那样好(现在总感觉还是和 win32 subsystem 有隔阂),那我觉得很多像我这样的用户没准会回到 Windows 阵营。
    goreliu
        129
    goreliu  
       2018-04-15 13:18:30 +08:00
    @abcdabcd987 和 win32 subsystem 有隔阂的话,不知道说的是进程互相调用吗?这个需要折腾一下,但现在已经没有技术上实现不了的了,周边软件的支持可能还需要再等等(比如要在 VS Code 里调用 WSL 下的 git 之类)。
    iwtbauh
        130
    iwtbauh  
       2018-04-15 13:23:52 +08:00 via Android
    甚至一个好用的邮件客户端都没有:mutt 看着你
    搜狗输入法:请更换谷歌拼音
    有时候 WiFi 列表搜不到任何信号:无线网卡固件问题 Linux 不背,请安装闭源固件
    QtCreator 里面输入不了中文(这个算已知问题,因为 fcitx 不支持 Qt5 应用:谁告诉你不支持 QT5 了,我明确告诉你没问题

    QQ 问题:不用 QQ/用手机 QQ/webqq
    abcdabcd987
        131
    abcdabcd987  
       2018-04-15 13:25:46 +08:00
    @goreliu 对,就像你说的,VS Code 要调用一下 WSL 里面的工具
    我相信开发团队未来应该会把 WSL 越做越好
    hcyue
        132
    hcyue  
       2018-04-15 13:29:46 +08:00
    WSL 打开 matlab for linux 要 3 分钟,怒弃。
    mjikop1231
        133
    mjikop1231  
       2018-04-15 13:33:45 +08:00
    目前还是用不了 Docker,也不能用 systemed, 效率还低,还不如开一个虚拟机。。
    nekoyaki
        134
    nekoyaki  
       2018-04-15 13:34:03 +08:00
    我是觉得 wsl 应该是一个对原本主要在 windows 环境下进行工作或生活的人的一个补充,对于原本就在 linux 环境下的人来说,推荐 wsl 大抵得不到什么良好效果。
    goreliu
        135
    goreliu  
       2018-04-15 13:36:32 +08:00
    @abcdabcd987 我之前尝试过写一个适配,大致看了下,不是很复杂,把参数简单处理一下传递过去就行,但当时有些事情而且我没有这个需求,就放下了。
    mudmen
        136
    mudmen  
       2018-04-15 13:45:08 +08:00   ❤️ 1
    把标题换成「安利 WSL 给在用 Windows 的伙伴」没那么多异议。楼主你连 TUI 都接受不了,让一堆习惯 GNU/Linux Userland 的人换到 Windows 上残缺的东西合理吗?
    iwtbauh
        137
    iwtbauh  
       2018-04-15 13:47:06 +08:00 via Android
    @huskar 以前是多久以前啊,2 年前用 Debian 8,qt5 qtcreator fcitx 输入中文无压力
    人家把 fcitx-frontend-qt5 这个包放到源上去莫非是为了当摆设
    Owenjia
        138
    Owenjia  
       2018-04-15 13:48:35 +08:00
    不喜欢一个东西的时候,什么都可以说成是缺点。
    binbinyouliiii
        139
    binbinyouliiii  
       2018-04-15 14:08:48 +08:00
    推荐东西看来还是需要实力硬,我要是楼主,推荐东西,早就不知道该怎么对他们讲道理( dui )了
    huskar
        140
    huskar  
    OP
       2018-04-15 14:28:17 +08:00 via Android   ❤️ 2
    @mudmen
    @nekoyaki
    @iwtbauh
    @binbinyouliiii
    最重要的是认清自己对于 linux 的需求,根据需求判断自己是否适合 wsl。
    我自己的需求已经在上面列出,通过我的试验发现 wsl 都是可以满足的,因此我自然的转向了 wsl。对于和我需求相同的这类人,我的帖子让他们知道这个信息多一种选择,肯定是有益的。
    帖子下面有些人的需求是 docker 或 CUDA 开发之类,那 wsl 就不能满足了,我不可能要求他们砍掉自己的需求来适应 wsl。对于这类人而言用 linux 当然还是最好的选择。
    可悲的是很多人根本不知道自己对 linux 真正的需求是什么,只是想否定我(也许他们对 linux 的需求就是满足他们的某种优越感),对于这类人,我只能祝他们开心就好。
    asxaqz
        141
    asxaqz  
       2018-04-15 14:34:19 +08:00
    我的 wsl 跑在机械硬盘上,真的是太慢了...不知道是不是 terminal 的锅
    standin000
        142
    standin000  
       2018-04-15 14:38:59 +08:00
    @goreliu 请问现在 wsl 对 32 位 elf 格式支持了吗?还有 usb 串口设备了,谢谢!
    goreliu
        143
    goreliu  
       2018-04-15 14:47:26 +08:00
    @standin000 不支持 32 位 elf,支持串口,但我没试过,不知道实际能不能用。
    ipwx
        144
    ipwx  
       2018-04-15 15:05:47 +08:00
    你说的很不错,我选择用服务器调试和跑和程序。
    kiwi95
        145
    kiwi95  
       2018-04-15 15:15:46 +08:00 via iPhone   ❤️ 2
    可悲的是有的人根本不知道别人对开发环境真正的需求是什么,自己用了几天、几个星期几个月 wsl 没遇到大问题就跑出来对 linux 发行版批判一番,郑重推荐别人用 wsl …还自以为是分析那么多不痛不痒的点

    能日常用 linux 的人能没深入用过 windows,不懂你们说的东西?别人选择 linux 做日常使用不用 wsl 自然有各自的道理,wsl 是个不错的产品,喜欢的继续用就是,何必要争个高下。但部分 wsl 用户玻璃心又总喜欢争,我说 wsl 是个残次品他们又要不开心
    kiwi95
        146
    kiwi95  
       2018-04-15 15:20:21 +08:00 via iPhone
    “遇到一些问题对我来说确实解决不了,甚至只能重装解决。折腾 linux 这些年都不知道重装了多少次系统了。”

    就这样就能郑重推荐 wsl 了?怕是 coreutils 的工具都还没用熟悉吧
    gabon
        147
    gabon  
       2018-04-15 15:28:01 +08:00 via Android
    一台笔记本 windows 日常,一台双路工作站 Ubuntu 开发。wsl 用来开发还是不好用。
    goreliu
        148
    goreliu  
       2018-04-15 15:28:33 +08:00
    @huskar 优越感确实是不少桌面 linux 用户的主要需求,如果你打击到了他们的优越感,他们就会拼命反击,功能上是否能满足反而是次要的。“我辛辛苦苦学的 linux,折腾得那么辛苦,终于大致能用了,你告诉我一个 WSL 就能取代,怎么可能?”所以能争论出什么东西呢。
    cppgohan
        149
    cppgohan  
       2018-04-15 15:31:43 +08:00
    有两个痛点:
    1. WSL 不能装 docker
    2. 没法用显卡驱动入门 dl

    这两个痛点能解决就完美了

    然后 Windows 下的 Docker 要关掉 hyper-v 的支持, 会和我的 vmware 虚拟机冲突, 很蛋疼..

    我的 WSL 里边也就是装个 conda, ansible, 当跳板远程连接一些 vps 用, 算是替代 cygwin 的一些功能..
    goreliu
        150
    goreliu  
       2018-04-15 15:35:16 +08:00
    @cppgohan 你主要在什么场景用 Docker ?其实作为开发环境的话,一般都是不需要使用 Docker 的。
    tulongtou
        151
    tulongtou  
       2018-04-15 15:37:13 +08:00 via iPhone
    wsl 的磁盘 io 太烂啊,apt 更新下载完了安装的时候卡半天才能安装完,虚拟机都比他流畅
    Osk
        152
    Osk  
       2018-04-15 15:47:04 +08:00 via Android
    @tulongtou 关掉 windows defender 实时保护会好一点
    des
        153
    des  
       2018-04-15 15:49:31 +08:00 via Android
    @tulongtou 没有太过分啊,刚刚用 dd 写了个 20g 文件,平均 120 左右。

    你是装了火绒吗?火绒对 wsl 不兼容
    des
        154
    des  
       2018-04-15 15:52:27 +08:00 via Android
    @cppgohan
    你这两点肯定是不会支持了,一旦涉及到内核相关的都不可能
    jedihy
        155
    jedihy  
       2018-04-15 16:34:34 +08:00 via iPhone
    @congeec 已经不应保持 terminal 开着呢。
    wsl 给个人用户替代 mac 是不错的。
    ashong
        156
    ashong  
       2018-04-15 16:46:09 +08:00 via iPhone
    对我来说能变易 openwrt 已经够用了
    xml123
        157
    xml123  
       2018-04-15 20:29:33 +08:00
    看了这帖的讨论,我觉得有句话说的挺对,“ wsl 的竞争对象不是 linux,而是 OSX ”。
    kidlj
        158
    kidlj  
       2018-04-15 20:38:10 +08:00 via iPhone
    感谢楼主的推荐,我在 Windows 10 下开发 Node.js ,使用一个 node-rdkafka 的库(暴雪维护的,非常好用),可是 Windows 下编译这个库很麻烦,正想着要不要买一个 Mac 呢,又是一万大洋。结果今天看到你这个推荐,就装了 ubuntu on Windows,node-rdkafka 成功安装了,我终于不用跑到服务器上调试程序了。wsl 相比虚拟机最大的好处是文件系统是互通的,我用 vscode 编辑的代码,可以直接在 wsl 里运行,不用做同步。

    同时,我也在用 vmware player (免费,轻量)开一个 centos 虚拟机跑 redis,mysql 等后台程序,结合起 wsl 可以说非常完美了。

    另外一点,wsl terminal 的默认字体也是可以改的,只要安装一个 Microsoft Yahei Mono 字体,再把 ubuntu bash 的字体设置成这个就 OK 了。

    感谢。
    muziki
        159
    muziki  
       2018-04-15 20:51:37 +08:00 via iPhone
    某些 wsl 用户是有多自卑 2333
    des
        160
    des  
       2018-04-15 21:16:19 +08:00 via Android
    @kidlj 这两个为什么不跑 windows 原生的呢?
    kidlj
        161
    kidlj  
       2018-04-15 22:33:24 +08:00 via iPhone
    @des 后台服务还是在 Linux 上更顺手一些。
    Qzier
        162
    Qzier  
       2018-04-16 01:22:56 +08:00 via iPhone
    wsl 读写好慢
    Qzier
        163
    Qzier  
       2018-04-16 01:26:21 +08:00 via iPhone
    @orangeade 之前火绒也有这个问题,现在的版本解决了
    repus911
        164
    repus911  
       2018-04-16 01:27:21 +08:00
    @huskar 就反驳下 mac 下公司项目没法启动,这点太主观了,折腾下也可以的
    另外,如果你推荐 wsl,觉得他好,没必要非拿 linux 的一些缺点作比较,因为你说的很多问题没法界定是你的问题还是 liunx 的问题,所以当然会被反驳,觉得好只需要推荐就行了...
    另外你说的可能很多人不懂对 linux 的需求,也对,但是他们有团队的需求,一个良好团队里不会坐视队友的困难的。然而你用 wsl,你推 wsl 的话就需要你来解决大家的问题,你不一定有这样的能力
    @goreliu 优越感这个问题麻烦不要 aoe...看到会不舒服,我觉得 @msg7086 处理的很好,一开始带些情绪,后面已经很和气的在探讨了。
    希望 wsl 发展的更好吧
    cnt2ex
        165
    cnt2ex  
       2018-04-16 01:43:14 +08:00
    我用 linux 的原因是单纯不想用 windows,WSL 里有个 W 就没法满足这点了
    goreliu
        166
    goreliu  
       2018-04-16 07:57:42 +08:00 via Android
    @repus911 我说的是事实,我也是 linux 用户,以前也带有很强的优越感,我清楚他们的想法,才这样说的。
    Bardon
        167
    Bardon  
       2018-04-16 08:53:23 +08:00   ❤️ 1
    优越感这个东西,因为自己带有,所以以己度人了...更诧异的是,觉得自己想法没错。

    回到楼主主题,楼主安利的应该是 windows 用户,这样更方便也更容易一些。各发行版纷纷加入到 wsl,本身的目的就是让 windows 用户体验下 linux,甚至能让他们完成一些基础的工作。
    huskar
        168
    huskar  
    OP
       2018-04-16 09:19:40 +08:00 via Android
    @repus911 有些项目依赖内部开发的包,肯定是只提供生产环境版本的,不可能还给 mac 适配维护一份。我要想在 mac 上启动,每次他们发了新版我还得自己编译,还要解决环境不一致造成的问题,有什么大变动编译不过还得自己找问题改代码,这不是没事找事吗?
    我也说了很多 linux 的优点,为啥很多人就看不到呢?我列的优点缺点都是我自己真实的使用体验,为何缺点就不让说了呢?
    linux 的好是 linux 的,linux 的问题是我的😂。就我提的三个问题(没提的还很多),不同发行版有的就存在有的不存在,这还能算是我的问题? deepin 就做的很好,不存在这些问题。系统能做好的东西没做好,还要怪用户折腾水平太低不会解决,算做用户的问题?
    jyf
        169
    jyf  
       2018-04-16 09:56:11 +08:00
    wsl 试过 还成 不过他没推出的时候 我用过个 babun 也不错 还带包管理

    但问题往往不在于 wsl 好不好用 而是在于在 win 上各种乱七八糟的弹窗 软件不请自来不好控制 这些都好烦 所以我也就是玩游戏的时候切过去 或者干脆买个机器专门用来玩游戏
    Tony042
        170
    Tony042  
       2018-04-16 10:18:30 +08:00
    @jyf 不乱装软件根本没有弹窗啊~
    dizzy
        171
    dizzy  
       2018-04-16 10:56:51 +08:00
    楼主,问个问题,你是怎么激活 win10 的?或者用的是正版?可以的话,麻烦给我说下。我准备换掉 win7 了。
    des
        172
    des  
       2018-04-16 11:27:49 +08:00 via Android
    @dizzy 有钱去官网,精神正版上淘宝
    lfzyx
        173
    lfzyx  
       2018-04-16 11:31:08 +08:00
    debian 大法好
    hugo2lee
        174
    hugo2lee  
       2018-04-16 11:33:00 +08:00
    有虚拟机和远程 debug 还纠结系统干嘛
    huskar
        175
    huskar  
    OP
       2018-04-16 11:40:07 +08:00
    @dizzy 我没有激活,win10 不激活只是不能个性化设置,除此之外没影响。
    natscat
        176
    natscat  
       2018-04-16 11:54:25 +08:00   ❤️ 1
    其实 linux 大部分开发已经可以使用 WSL 代替了,上周我也试过,服务端开发 golang,完全没啥问题。在 windows 里面用 sublime 开发,然后在 WSL 里面编译(有一些很好的第三方的 terminal )。用着和 linux 没啥差别。
    ps: 我在公司用 macOS 开发
    hhacker
        177
    hhacker  
       2018-04-16 11:57:32 +08:00
    一直在用 wsl 很方便 很和谐
    Miy4mori
        178
    Miy4mori  
       2018-04-16 12:20:09 +08:00   ❤️ 2
    自己没事折腾一下 WSL 感觉还是挺不错了,平时写 Java,平台无关就少操 Linux/Win 的心,WSL 出来之前要用 GNU 工具链就用 Vagrant,其实比较完美的避开一些问题,看了这贴发现其实喷的多一般都用 GNU/Linux ONLY 的语言或者工具,这个 ONLY 不是绝对 ONLY,只是在 Win 下 和 Linux 下体验差一个数量级吧。其实没多少人能完全不用 Win,我觉得日常生活娱乐 Win 很好,作为服务器 Linux 很清晰,很好折腾,工作能用 WSL/Vagrant 这种代替物理机 GNU/Linux 的就代替,实在 GNU 精神的就和 Linux 发行版战斗吧。
    kevinwkxw
        179
    kevinwkxw  
       2018-04-16 12:43:21 +08:00
    @goreliu 编译时性能差的问题刚开始我也遇到过,但我发现编译时 windows 自带的杀毒软件会占用大量资源( IO,CPU ),后关掉杀毒软件后基本和 linux 下差别不大,我推测应该是杀毒软件在处理编译产生的临时文件没有优化的原因。
    denghongcai
        180
    denghongcai  
       2018-04-16 16:22:48 +08:00
    对网络硬件相关的模拟还有点问题(比如取网卡地址),其他的开发体验都很好,毕竟 Windows 是最好的 Linux 桌面环境(误
    chocotan
        181
    chocotan  
       2018-04-16 17:06:53 +08:00
    windows 卡的不行。。。我选择 linux
    YumeMichi
        182
    YumeMichi  
       2018-04-16 18:06:57 +08:00
    对我来说并不是不喜欢 WSL 只是对 Windows 系统没有需求而已 Linux 能满足我日常所有使用 包括游戏
    hwdef
        183
    hwdef  
       2018-04-16 21:14:37 +08:00
    新建了一个 tele 的群,欢迎加入
    [wsl 技术分享]( https://t.me/joinchat/BTMvmhKJWiKjP3WPFUd78w)
    yuhr123
        184
    yuhr123  
       2018-04-17 15:05:45 +08:00
    为了 QQ 和 Email 客户端而放弃原生使用 Linux 发行版?臣妾做不到啊!
    x86vk
        185
    x86vk  
       2018-04-19 08:24:59 +08:00 via Android
    @goreliu 我大概半年 /一年前试过一次,npm 会报错。在 wsl 的 bug repo 上找到了对应的 issue 不过这么久过去了,应该修好了吧
    ShadowPower
        186
    ShadowPower  
       2018-05-02 23:48:05 +08:00   ❤️ 1
    其实 Docker 是可以在 WSL 里使用的,给大家分享一下我的经验
    需要在~/.bashrc 里添加一些东西

    # 适用于 Docker for Windows
    export DOCKER_HOST=tcp://127.0.0.1:2375

    # 适用于 Docker Toolbox
    #export DOCKER_TLS_VERIFY=1
    #export DOCKER_HOST=tcp://192.168.99.100:2376
    #export DOCKER_CERT_PATH=/mnt/c/Users/Nya/.docker/machine/certs

    # 挂载 /mnt 下的一些目录到根目录下,让 WSL 的路径和 Docker 一致
    if [ ! -d "/c" ] || [ ! "$(ls -A /c)" ]; then
    sudo mkdir -p /c
    sudo mount --bind /mnt/c /c
    fi

    # 如果是其他的盘符可以对照着修改……
    # mount 命令需要 root 权限,所以配置一下免密码 sudo 会方便许多

    # 然后跳到 /c 目录,有个小问题,根目录下启动的 Bash 跳转不了
    # 可以把这个判断写得复杂一点处理 /mnt/c 的情况……
    if [ "$(pwd | cut -c -7)" == "/mnt/c/" ]; then
    cd "$(pwd | cut -c 5-)"
    fi

    像这样就可以了,我已经用来工作半年了,没有遇到过问题。
    ShadowPower
        187
    ShadowPower  
       2018-05-02 23:49:38 +08:00
    啊对了……
    里面的用户名得根据实际情况修改一下
    samaxu
        188
    samaxu  
       2018-05-17 10:26:16 +08:00
    为什么这么多人要谈论为何不单独用 linux,
    wsl 明显是更适合需要 windows 和 linux 同时使用的人啊
    TripleZ
        189
    TripleZ  
       2018-11-01 01:26:58 +08:00
    @natscat 请问是什么第三方 Terminal 呢,一直想找替代品
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2705 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 11:49 · PVG 19:49 · LAX 03:49 · JFK 06:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.