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

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

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

    用 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  
    find456789
        1
    find456789  
       2018-04-15 00:48:15 +08:00
    谢谢,为啥不用 docker 啊
    debuggerx
        2
    debuggerx  
       2018-04-15 01:01:12 +08:00
    讲道理,以上你说的所有那些问题,只需要换台不是很‘奇葩’的电脑装 deepin 就行了。。。
    mudmen
        3
    mudmen  
       2018-04-15 01:01:47 +08:00
    mutt 不好用?
    ShareDuck
        4
    ShareDuck  
       2018-04-15 01:09:50 +08:00 via Android
    通常开发者都不止一台电脑。Linux 跑在服务器上就行啦。
    xupefei
        5
    xupefei  
       2018-04-15 01:13:50 +08:00
    @debuggerx #2 当真?就我的经验来说,只有小部分奇葩的电脑能完美运行 Linux,大部分都要折腾。
    sleeperqp
        6
    sleeperqp  
       2018-04-15 01:14:35 +08:00 via iPhone
    我也觉得 wsl 不错 在考虑上 mac 还是搞 win10
    lance6716276
        7
    lance6716276  
       2018-04-15 01:28:23 +08:00 via Android
    可是 Windows10 本身的 bug 太多

    我 nuc 装 Ubuntu 用了两年感觉良好
    huskar
        8
    huskar  
    OP
       2018-04-15 01:33:37 +08:00 via Android
    @mudmen 就邮件客户端这种应用而言,我个人感觉字符界面相对 gui 没有任何优势。我从搜索的结果里没有发现啥吸引我的 feature,但是学习曲线却挺陡峭的,所以我对来说称不上好用。
    huskar
        9
    huskar  
    OP
       2018-04-15 01:47:47 +08:00 via Android
    @debuggerx 我在一台台式机和两台笔记本上装过 linux,折腾了不少发行版也包括 deepin,还真的没有遇到过不出任何问题的……
    其实运行 windows 都能跑得很好的三台机器,运行 mint 就变成了或多或少有问题的‘奇葩’机器,本身就说明了 linux 用于桌面系统存在的缺陷吧。
    MeteorCat
        10
    MeteorCat  
       2018-04-15 01:49:28 +08:00 via Android
    游戏服务端很少跑 Window,以前试过 mingw 这类,一堆报错被坑怕了
    LokiSharp
        11
    LokiSharp  
       2018-04-15 01:49:35 +08:00 via iPhone   ❤️ 1
    wsl 很辣鸡,和真的 Linux 区别很大,不推荐
    current
        12
    current  
       2018-04-15 01:49:53 +08:00   ❤️ 4
    wsl 完美解决了玩游戏需要重启电脑这个痛点。。。。
    orangeade
        13
    orangeade  
       2018-04-15 01:51:52 +08:00 via Android
    一般的开发 WSL 够用了,特殊需求没办法,比如 CUDA 之类
    xieranmaya
        14
    xieranmaya  
       2018-04-15 01:54:17 +08:00
    再提一个,之前好像是 windows 里的文件跟 wsl 里的文件内容不能同步,外面改了里面不会更新,现在这个问题好像也不存在了,我前天测试是这样的。
    huskar
        15
    huskar  
    OP
       2018-04-15 01:55:55 +08:00 via Android
    @MeteorCat 生产环境何苦用 windows 呢,这里推荐的是在个人桌面环境下用 windows+wsl。
    reself
        16
    reself  
       2018-04-15 01:58:47 +08:00 via Android
    所以为啥不上 mac ?
    huskar
        17
    huskar  
    OP
       2018-04-15 02:00:37 +08:00 via Android
    @LokiSharp 辣鸡在哪呢,你需要“真的 linux ”的哪些特性呢?
    huskar
        18
    huskar  
    OP
       2018-04-15 02:02:06 +08:00 via Android
    @orangeade 是的。
    flinhong
        19
    flinhong  
       2018-04-15 02:03:04 +08:00
    弄了个 windows to go 里面就装了 bash for windows,还是有坑的,偶尔用用
    huskar
        20
    huskar  
    OP
       2018-04-15 02:08:30 +08:00 via Android
    @reself 主要是我说的最后一个点:linux 可以配置成和线上一样的环境,能直接在本地跑起来大部分项目,并且在本地的表现和线上一致。而 mac 就不行。
    chotow
        21
    chotow  
       2018-04-15 02:14:42 +08:00 via Android   ❤️ 2
    WSL 不支持 Docker,囧。
    huskar
        22
    huskar  
    OP
       2018-04-15 02:15:27 +08:00 via Android
    @chotow 直接在 windows 下用 docker 呀。
    wun
        23
    wun  
       2018-04-15 03:16:49 +08:00 via Android
    @huskar 光是依赖 nt 内核就很难受了
    muziki
        24
    muziki  
       2018-04-15 06:16:49 +08:00 via iPhone
    去年已经试装 bug102 次了,次次被喂屎,宁愿装 7 都不会碰 10 了,太垃圾
    tamlok
        25
    tamlok  
       2018-04-15 06:18:07 +08:00 via Android
    Qt5 和 fcitx 的问题网上解决教程一搜一大把呀!
    congeec
        26
    congeec  
       2018-04-15 06:42:43 +08:00   ❤️ 1
    Linux 老鸟基本不会用 WSL 的。缺陷太多
    不支持 Docker
    磁盘 IO 慢
    那个 Terminal 要一直开着,WSL 里的 services 才能工作
    .....
    goreliu
        27
    goreliu  
       2018-04-15 06:43:05 +08:00 via Android   ❤️ 12
    我以前也试图介绍 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
        28
    goreliu  
       2018-04-15 06:53:04 +08:00 via Android
    这里专门说一下 Docker,可以说 Docker 用户和 linux 用户完全不是一类人,用 Docker 就满足需求或者没有 Docker 就不知道怎么办了的用户,确实没必要用 WSL 了,因为 linux 基础过于欠缺了。
    nightcat
        29
    nightcat  
       2018-04-15 07:03:05 +08:00
    @goreliu 我再添一个理由,字体渲染真 TM 丑
    lzvezr
        30
    lzvezr  
       2018-04-15 07:03:43 +08:00 via iPhone
    那我装个 x 好了
    linux 桌面 firefox 必须使用私有驱动才能不闪屏,这很不 linux,所以拒绝使用,宁可用 wsl
    goreliu
        31
    goreliu  
       2018-04-15 07:10:52 +08:00 via Android
    @nightcat 终端用户体验问题已经说了,换第三方终端模拟器。
    lightening
        32
    lightening  
       2018-04-15 07:11:38 +08:00
    我也觉得 WSL 挺好的,如果能用所有的命令行工具,完全可以取代 Linux 桌面。反正我用过 5 年左右 Linux 桌面,各种发行版都是试过了。结论:Linux 桌面是个笑话。
    cheneydc
        33
    cheneydc  
       2018-04-15 07:27:47 +08:00
    qq 我用 wine,然后……没有然后啦!
    qdwang
        34
    qdwang  
       2018-04-15 07:40:03 +08:00 via iPhone
    @goreliu 讲得好全面👍
    qdwang
        35
    qdwang  
       2018-04-15 07:44:54 +08:00 via iPhone   ❤️ 2
    个人桌面电脑是一个工具,工具当然是功能越多越好。一台电脑上装纯 macOS,纯 linux,都没有装纯 windows 功能多。功能最完整的可能是 windows+虚拟机虚拟 linux,但是 windows+wsl 也不错,功能就少一点点。
    johnniang
        36
    johnniang  
       2018-04-15 07:48:22 +08:00 via Android
    Thunderbird 不好用,别逗了吧。甚至邮箱大部分都有网页版,完全满足日常使用。
    zjqzxc
        37
    zjqzxc  
       2018-04-15 08:21:43 +08:00
    满足需求,符合习惯就好,没必要非得争个你死我活
    Bardon
        38
    Bardon  
       2018-04-15 08:24:12 +08:00   ❤️ 1
    拿 wsl 做开发环境么?开玩笑,可能你们的需求,用 wsl 能满足...

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

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

    https://wiki.archlinux.org/index.php/Fcitx#Input_method_module
    MeteorCat
        42
    MeteorCat  
       2018-04-15 08:38:31 +08:00 via Android
    @huskar 没办法 游戏端在 window,调试打印很不方便,常常要 ssh 上去,本来以为能够搞成同个环境能够高效点,没想到还是太年轻了
    des
        43
    des  
       2018-04-15 08:39:31 +08:00 via Android
    现在都是安利 docker,再有人吐槽就上 macOS

    话说 win10 是真该好好打磨下,各种大小毛病不断
    muziki
        44
    muziki  
       2018-04-15 08:40:39 +08:00 via iPhone
    @muziki contributer->contributor
    goreliu
        45
    goreliu  
       2018-04-15 08:50:01 +08:00   ❤️ 1
    @muziki 有具体问题的话可以讨论,没有的话不奉陪了。
    muziki
        46
    muziki  
       2018-04-15 08:52:24 +08:00 via iPhone   ❤️ 1
    @goreliu 谢谢
    对一个分不清 docker 和虚拟机的 wsl 高端用户没什么讨论的,同不奉陪了。
    kindjeff
        47
    kindjeff  
       2018-04-15 08:53:34 +08:00 via iPhone
    wsl 仍然还是个玩具啊……用来 ssh 到别的机器就好了。
    kiwi95
        48
    kiwi95  
       2018-04-15 08:54:12 +08:00 via iPhone   ❤️ 2
    我要说 wsl 是个玩具,你们肯定又不开心,用了几天没遇到问题就觉得秒天秒地了,这种情况我见得太多了

    吐槽了那么久的 win10 更新问题现在怎么样了?
    bugeye
        49
    bugeye  
       2018-04-15 08:55:04 +08:00
    正在用 linux 的估计不会对 wsl,尤其是 win10 感兴趣。要“安利”,向只用 win10 的朋友吧。
    goreliu
        50
    goreliu  
       2018-04-15 08:55:14 +08:00
    @muziki Windows 的 Dorcker 是运行在 Hyper-V 里的。
    debuggerx
        51
    debuggerx  
       2018-04-15 08:55:15 +08:00   ❤️ 6
    @xupefei

    我长期使用过的电脑主要是三台,一台是上大学买的宏碁 4750g,一台是公司戴尔开发机,一台是 16 年底买的小米 air13.3,全部都是装的 deepin 作为开发和日常娱乐使用,都没有什么特别明显的大问题。而为什么很多人都说 linux 桌面没法使用,linux 用户里又有很多说 deepin 不稳定呢,我觉得原因有二:一是很多人买电脑的时候只知道价格、参数、品牌,或者说游戏性能怎么样,好不好看等等,却没有把使用 linux 作为一个因素去选择。我自己买电脑的时候如果是笔记本,就会尽量先查有没有人分享过该机型使用 linux 的情况如何,配硬件也不像很多人一味追新追参数,而是尽量选择成熟量大通用性好的型号,由此避免很多问题;其二就是很多人还是停留在无脑百度的水平,在网上大量过时乃至错误的信息中没有辨别的能力和实验的耐心,以至于以各种错误的方式将 linux 搞崩后却将过错怪罪在发行版身上。实际上 linux 发展的速度、知识更新的速度非常快,不养成看看官方文档、自己查日志 /分析代码,在技术圈子里与人交流探讨这些正确的方式去学习的话成长速度是很慢的。相比较起来,windows 更新的差异其实也不小,但是强在用的人多,对应的资料也多,用被动学习的方式就能解决大部分问题。
    很多人都认同 linux 做开发很爽很高效,我也就不必赘述了,而桌面体验一般都被人当做笑话,所以当我说我个人就是因为更好的桌面体验而选择了 deepin 的时候,很多人直接就把我当成了水军(⊙o⊙)…但是我自己用的就是很好啊,我前后做过 java、python、c、前端、安卓、unity、html5 游戏、blender 建模、运维,最近则是在搞 flutter,一直用的是 linux,个别确实需要 win 的时候直接起个 kvm 了事,体验一直不错,所以我只是在表述自己的真实体验而已……虽然没啥实际意义,不过因为早想录个自用笔记本运行 deepin 桌面的视频演示了,正好趁这个机会通宵录了出来,如果愿意可以随便看看:

    ?spm=a2h3j.8428770.3416059.1
    wlwood
        52
    wlwood  
       2018-04-15 08:58:53 +08:00 via Android
    在重度 Linux 用户眼里,Windows 用户也是玩家。

    除了玩游戏好以外,做啥事情都不如 Linux。谢谢☺☺☺
    muziki
        53
    muziki  
       2018-04-15 08:59:24 +08:00 via iPhone
    goreliu
        54
    goreliu  
       2018-04-15 09:00:31 +08:00
    @muziki Windows 的 Dorcker。
    goreliu
        55
    goreliu  
       2018-04-15 09:01:59 +08:00
    @wlwood 你这样两头都黑,两边都不讨好啊。
    wlwood
        56
    wlwood  
       2018-04-15 09:04:08 +08:00 via Android
    @goreliu 没有两头黑啊。就是觉得 Linux 好嘛。但是玩游戏就是 Windows 好嘛,所以 Windows 用户是玩家嘛,玩游戏的玩家
    goreliu
        57
    goreliu  
       2018-04-15 09:05:22 +08:00
    @wlwood 这不就是两头黑嘛。
    VDimos
        58
    VDimos  
       2018-04-15 09:06:04 +08:00 via Android
    不管你 wsl 怎么样,只要你是微软的,那你就该骂。
    muziki
        59
    muziki  
       2018-04-15 09:12:24 +08:00
    @goreliu windows 中的 docker 可以选择 native container 和 hyper-v,docker 资源要求跟 vm 比显然轻量很多 性能缺没明显损失
    goreliu
        60
    goreliu  
       2018-04-15 09:14:17 +08:00
    @muziki native container 是运行 Windows 的。
    dhssingle
        61
    dhssingle  
       2018-04-15 09:17:34 +08:00
    其他理由都是废话,理由其实只有一个 因为是微软出的,微软就是原罪
    x86vk
        62
    x86vk  
       2018-04-15 09:22:48 +08:00 via Android
    说一下我的解决方案吧

    用 deepin-wine 或者花钱买 crossover 就可以运行 tim

    fcitx 早就支持 qt5 了,你 fcitx-diagnose 一下就知道了

    邮件客户端用 mailspring
    huskar
        63
    huskar  
    OP
       2018-04-15 09:25:41 +08:00 via Android
    @Rocka 不知道现在怎么样了,但是之前在 QtCreator 下确实输入不了中文,你可以试验一下。
    WhatIf
        64
    WhatIf  
       2018-04-15 09:29:41 +08:00
    从 bash for windows 出来以后就尝鲜并尝试日常使用了一把。
    什么稳定,很多命令不支持之类的问题都不在乎,迫使我无法真正把它用起来的唯一原因就是配色问题。
    不管是 ls 还是 vi, 出来内容都是眼瞎级别。 网上简单搜索了一下 , 也没看到什么好的方案,于是还是放弃吧。
    http://101.132.135.141/img/vi.png
    x86vk
        65
    x86vk  
       2018-04-15 09:43:40 +08:00
    @huskar ![屏幕截图.png]( https://i.loli.net/2018/04/15/5ad2ae214a113.png)

    不知道为什么你那边不可以,我这边一直是正常的。
    huskar
        66
    huskar  
    OP
       2018-04-15 09:44:33 +08:00 via Android
    @congeec 预览版 17046 已经支持后台任务啦,估计春季更新就能用上了。
    磁盘 io 慢这个问题,我在使用中还没有直观感受,回头测试下。
    docker 的问题…如果真的不喜欢在非 linux 上跑 docker 确实无解。
    xyxc0673
        67
    xyxc0673  
       2018-04-15 09:49:02 +08:00
    我想问下,在 WSL 下开启的端口现在还能无障碍在 Windows 下访问吗?
    之前没解决,现在还是没解决。看 issue 上好多人都会这样。
    例子:Python Django Runserver, NPM Run Dev
    huskar
        68
    huskar  
    OP
       2018-04-15 09:51:15 +08:00 via Android
    @x86vk 我用的是 mint 和搜狗输入法,那是比较早遇到的问题了,最近没怎么用不知道啥情况。不过我 google 了一下“ linux qtcreator 中文”,07 年还是有很多人遇到这个问题呢。
    LosLord
        69
    LosLord  
       2018-04-15 09:52:53 +08:00 via Android
    @WhatIf 老哥可以开个 ssh 服务啊
    LosLord
        70
    LosLord  
       2018-04-15 09:54:41 +08:00 via Android
    @xyxc0673 我装了个 ssh 服务开 2222 端口可以在 windows 的 xshell 下用 localhost:2222 使用
    x86vk
        71
    x86vk  
       2018-04-15 09:56:49 +08:00
    @huskar 07 年。。。现在都 8102 年了啊兄弟。。。

    搜狗一样的,mint 没用过,但在 gnome,kde,cinnamon,deepin,xfce 上都是可以输入中文的。
    WhatIf
        72
    WhatIf  
       2018-04-15 09:57:15 +08:00
    @LosLord 要这么弄 我还不如开个虚拟机了,然后目录挂载过去。
    当然我现在还是用 MINGW64 了,反正装 git 客户端时候一并带了
    irryal
        73
    irryal  
       2018-04-15 10:01:01 +08:00 via Android
    WSL 对 Windows 用户来说特别赞。至少完美解决了一部分人在桌面端要用 Linux 开发的问题,因为 Linux 桌面肯定未能达到 Windows 的成熟度 (即便是 10)。装个系统遇到的各种问题就让 Linux 桌面端的使用成本远高于 WSL 了。

    虽然 Deepin Linux 非常好,以前一直用,但是感觉这次 Windows 在桌面领域抢走了你们一部分用户啊,至少我觉得不需要双系统了,这应该是 (M$) 商业上的成功吧。

    服务器上,我们还是跑 RHEL 的,桌面端选 Ubuntu,Fedora 还是 Deepin 以前没关系,所以现在迁移到 WSL 也比较轻松。

    现在 Windows 上用 @goreliu 的 wsl-terminal 终端替代系统自带的终端效果真的好。

    最近的 Windows 更新都有 WSL 的升级,不能跑服务的问题好像解决了,所以我估计微软的愿望是在桌面端继续加大优势,至少缩小命令行工具与 MacOS 的差距吧。

    另外因为换到了 Windows,最近对微软系技术 PowerShell,dotNet 感兴趣了,还在 Linux 上试用,或许这也是微软愿意看到的?
    Stevenv
        74
    Stevenv  
       2018-04-15 10:02:40 +08:00 via Android
    想在 win10 下使用 docker。。。有种看运气的感觉。。
    sdlearn
        75
    sdlearn  
       2018-04-15 10:04:41 +08:00
    @debuggerx 右下角悬浮窗是啥
    huskar
        76
    huskar  
    OP
       2018-04-15 10:05:15 +08:00 via Android
    @x86vk 啊,是 17,我打错了抱歉😂😂😂
    ZSeptember
        77
    ZSeptember  
       2018-04-15 10:10:10 +08:00 via Android
    win10 太垃圾了,不用。
    qxooqx
        78
    qxooqx  
       2018-04-15 10:11:49 +08:00
    @WhatIf 我用 cmder 解决了配色问题,但是要折腾一下
    x86vk
        79
    x86vk  
       2018-04-15 10:14:39 +08:00 via Android
    @huskar emmmmmm 反正我从 15 年开始用 qt creator,期间用过 Ubuntu,elementary os,Debian,openSUSE,Archlinux,Manjaro,都是没问题的
    aubreychao
        80
    aubreychao  
       2018-04-15 10:17:31 +08:00 via Android
    cmd 下面执行 wsl cat>hello <<EOF 会报错
    flyingheart
        81
    flyingheart  
       2018-04-15 10:19:56 +08:00
    @xupefei 买台集显的英特尔笔记本就好了,网卡选英特尔的,保证可以完美运行
    声卡 Realtek 的没啥问题
    andyhuzhill
        82
    andyhuzhill  
       2018-04-15 10:21:39 +08:00
    QtCreator 中不能用 fcitx 输入中文是因为默认 QtCreator 里面不带 fcitx 的 platforminputcontexts 插件,如果你用的是 debian 系的话 

    用 sudo apt-get install fcitx-libs-qt5

    然后将 /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so 复制到  QtCreator 安装目录下的  lib/Qt/plugins/platforminputcontexts 目录下就可以用了。

    这个问题在网上完全可以搜索到的
    xyxc0673
        83
    xyxc0673  
       2018-04-15 10:22:19 +08:00
    @LosLord #70 我搜了一下,好像和 TGP(WeGame) 有关。卸载了后,果然可以访问了。。。
    linux40
        84
    linux40  
       2018-04-15 10:23:44 +08:00 via Android
    第一,不用搜狗就行了,就是词库比较本地化而已。

    第二,fcitx 支持 qt5。

    第三,wsl 就是个二进制兼容层,更别说很多人都反应过有这样那样的问题。
    msg7086
        85
    msg7086  
       2018-04-15 10:33:17 +08:00   ❤️ 2
    我能想到的不用 WSL 的一大理由:

    因为是 Windows 自己提供的。

    Don't get me wrong. 我不是说 Windows 提供的就不行。对于大多数人来说微软自带这个属性挺好的。
    但是实际情况并不总是尽如人意。
    Windows 提供,意味着:

    1. 完全依赖微软的作为。微软说这玩意儿我不搞,GG。微软说这玩意儿我要这样搞而不是那样搞,GG。

    2. 没有可移植性。我一个脚本写完,如果要放在其他环境下跑,万一是没有 WSL 的系统怎么办?不还是要装 VM 或者 msys2 么。旧版 Windows 10 ? LTSB 分支? 7/8/8.1 用户?请滚回 msys2 吧(滑稽

    3. 是系统相关组件。我要装 msys2,双击安装完就可以运行了。甚至还是绿色版的,复制粘贴、局域网共享目录,随便你怎么玩。
    要装 WSL,对不起,先联网下载,再安装 WSL,再重启,再进商店,再联网下载,再安装,再运行。

    4. 微软一贯尿性 0x800xxxxx。以前自动更新什么的出问题,满世界弹错误代码,上论坛问客服一问三不知,遇事不决先重启,遇事不决再重装。没遇上算你运气好,遇上了你就,嗯。重装呗。

    作为程序员,我相信肯定有人喜欢这种控制能力(特别是 Linux 用户),对于这种完全不可控的技术,长期观望是很正常的。虽然有人要说我地域歧视,不过现在三哥上台以后搞出来的 Windows 10 这么多幺蛾子,你们真的信他们吗?
    goreliu
        86
    goreliu  
       2018-04-15 10:33:22 +08:00
    @aubreychao cmd 不支持 <<EOF 这样的用法,用 WSL 的话不需要进 cmd。
    alexsunxl
        87
    alexsunxl  
       2018-04-15 10:34:56 +08:00
    我用 arch
    goreliu
        88
    goreliu  
       2018-04-15 10:38:42 +08:00   ❤️ 4
    @msg7086 以前我用 linux 时总有一种自己能掌控整个系统的幻觉,直到真出了问题我才意识到自己仅仅是一个普通用户。
    huskar
        89
    huskar  
    OP
       2018-04-15 10:43:06 +08:00 via Android
    @msg7086 这个…我觉得 wsl 不是 mingw 或者 cygwin 的替代,它就是给开发者使用的一个工具,而不能作为软件的运行时环境去要求用户安装。不要发布依赖 wsl 的脚本和软件才对。
    sobigfish
        90
    sobigfish  
       2018-04-15 10:46:17 +08:00
    WeGame 原来的 TGP 也有, 有个巨坑,安了之后,WSL 的 Linux ( Client ) 和 Windows 10 ( host )网络就不通了!!!!
    x86vk
        91
    x86vk  
       2018-04-15 10:47:07 +08:00
    @goreliu 不是普通用户的问题,是 wsl 经常变,不稳定的问题。

    比如这么说吧,我之前在 LTSB 版里面用了 WSL,后来一个更新直接把 LTSB 里的 WSL 给删了。换了 Win10 Pro,用 alwsl 把 wsl 改成了 arch 的,结果过了一段时间 wsl 就用不了了,要从应用商店重下。重下完的 wsl 也不支持 alwsl 这个脚本了。更不要说什么 wsl 里面连 hexo 都用不了 写个博客都不行= =
    huskar
        92
    huskar  
    OP
       2018-04-15 10:52:07 +08:00 via Android
    @msg7086 关于遇到 bug,如果是 linux 遇到 bug,连客服都没有啊,搜索结果也没有 windows 多,大问题也是只能重装。我的经历是,重装 linux 的次数要远远大于重装 windows 的次数。…
    安装 wsl 很简单呀,商店里点安装就能用了,不需重启。
    huskar
        93
    huskar  
    OP
       2018-04-15 10:56:47 +08:00 via Android
    @x86vk 你说的问题是在 wsl 还是 beta 时候的吧? hexo 我去试下,没道理用不了吧。
    EVJohn
        94
    EVJohn  
       2018-04-15 10:59:21 +08:00
    额,我就问一句,Windows 的强制更新你能受得了吗,之前就是受不了这个转 Linux 的
    goreliu
        95
    goreliu  
       2018-04-15 11:00:02 +08:00
    @x86vk 只是安装方式变了,更新把原有的文件删除的事情,我没遇到过,我基本每次预览版都更新。因为安装方式变了,alwsl 没适配的话就用不了了。用 hexo 写博客是没问题的。

    WSL 使用起来很灵活,只是很少有人做周边的东西。现在我用的不是应用商店安装的,而是自定义的,可以改注册表自定义路径:

    Windows Registry Editor Version 5.00

    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss]
    "DefaultDistribution"="{5c72cc38-adbd-4cc9-9eb5-a2595dd56c99}"

    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\{5c72cc38-adbd-4cc9-9eb5-a2595dd56c99}]
    "State"=dword:00000001
    "DistributionName"="Mine"
    "Version"=dword:00000001
    "BasePath"="C:\\wsl"
    "KernelCommandLine"="BOOT_IMAGE=/kernel init=/init ro"
    "DefaultUid"=dword:000003e8
    "Flags"=dword:00000007

    然后 c:\wsl 就是 WSL 的路径了。只要本地文件不出问题,就不需要折腾什么。
    orangeade
        96
    orangeade  
       2018-04-15 11:09:00 +08:00 via Android
    @sobigfish 国产软件都喜欢乱加驱动
    gnaggnoyil
        97
    gnaggnoyil  
       2018-04-15 11:16:30 +08:00   ❤️ 3
    有时候我真的觉得人和人之间的差距比人和狗之间的差距还大.用了一年 Win10(半年 Insider),除了更新就没重启过的人表示不明白 v2 上为什么会有那么多人觉得 Win10 的 bug 多.按理说都能在 desktop 上搞定 linux 各种奇怪驱动的人不可能会不知不觉的乱折腾 win10 啊对不对……

    @msg7086 RedHat:"我说的你用 GCC4.8,你就得用 GCC4.8"
    msg7086
        98
    msg7086  
       2018-04-15 11:17:59 +08:00
    @goreliu @huskar
    从程序员的角度来说,如果一个系统足够简单,模块之间的分割足够清晰,那么 Bug 造成的无奈会小很多。
    Linux 有很多 Bug,但是 Linux 的 Bug 解决起来比 Windows 更简单。
    源代码是全部开放的,至少你不是完全一点办法也没有。可能你没有能力通读代码,但是肯定有人(比如维护者)可以,总会找到问题点,解决掉 Bug。

    说个实际的例子,Systemd 这个褒贬不一的货,最为人诟病的一点就是管的事太多,太复杂,结构不容易为人理解。
    我司开发软件的时候,用到了 Systemd-networkd,在 drop-in 目录中多次定义配置会导致配置定义互相覆盖。当然我从来没读过 Systemd 的源码,也不知道这玩意儿到底怎么处理配置的,但是至少我可以通过多次试验来缩小问题范围,找到最小验证环境,然后把 Bug 报上去。
    当然最后我们还是去快速地读了一下 Systemd 的源码,找到了问题点,报了 Github issue,不到一个月问题就修复了。

    所以如果像 System 这样一个比较底层又比较复杂的项目,也能很容易地定位到问题点,那么我相信 Linux 这个系统应该是属于比较容易维护的了。

    至于 #88,我写的程序并不依赖 WSL,但是如果别的机器上(不一定是别人的,也可能是我自己的其他电脑),没有 WSL 的话,那为什么我不一开始就去用 msys2 或者 vagrant 这样的环境呢。
    折腾 Windows 是有很大代价的,现在的 Windows 10 折腾无极限已经给人以极高的代价了。
    要保持系统 Uptime 超过几个星期,就必须完全禁用自动更新。以前你可以禁用 WUAU 服务,但是现在他会自己偷偷打开,所以唯一解决方法就是用防火墙封锁所有的微软 IP 地址,然后禁掉所有微软域名的解析……
    哇塞……

    要是再来个 WSL 给我折腾……不知道能多酸爽了。
    HXM
        99
    HXM  
       2018-04-15 11:18:46 +08:00 via Android
    前两天重装系统,更新到了 1709,终于可以打开 wsl,折腾折腾美滋滋
    goreliu
        100
    goreliu  
       2018-04-15 11:20:05 +08:00 via Android
    @gnaggnoyil 很多人认为 linux 出了问题是自己的问题,Windows 出了问题是微软的问题,既然是微软的问题,为什么我要花经历折腾它?
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2879 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 14:24 · PVG 22:24 · LAX 07:24 · JFK 10:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.