WSL2 试用:还不错的 Linux 环境 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
stern123
V2EX    Linux

WSL2 试用:还不错的 Linux 环境

  •  
  •   stern123 2019-07-12 21:50:58 +08:00 15315 次点击
    这是一个创建于 2351 天前的主题,其中的信息可能已经有所发展或是发生改变。
    6 月底的 Win10 Insider preview 就可以打开 wsl2 了。试用环境为:i3-2370 + 8G DDR3 + SSD + win10 18936 + wsl2 + ubuntu 18.04 。试用感受如下:
    1,采用虚拟机方案,效率接近裸机。用 python + keras + tf 跑了一个小网络测了一下,运行时间为:wsl2--75s,win10--192s,native linux--65s。
    2,文件系统为 ext4,wsl2 里仍然可以 /mnt/c 访问 windows 目录,windows 里仍然可以\\wsl$访问 wsl2,文件系统效率极大提升,易用性和 wsl1 没多大差别。
    3,试着用 buildroot 做了个交叉编译器,结果正常,qemu 运行正常;一般做嵌入式 /linux 开发的话,wsl2 也够用了。
    4,wsl2 没有启 systemd、systemctl 等等,整体启动速度还是很快的。
    不香的地方在于:wsl2 里的 PATH 会包含 windows 的环境变量里的 path,那么由于这样那样的原因,path 很有可能会包含 Program Files (x86)/xxx。linux 下有些脚本写的兼容性不是那么的好的话会在处理“()”处出问题,还是需要小心对待。
    结论就是:wsl2 的可用度已经相当高,是一个还不错的 linux 发行版:-)
    39 条回复    2019-08-12 12:59:00 +08:00
    yuxizhe
        1
    yuxizhe  
       2019-07-12 21:53:51 +08:00
    前端开发,nodejs 等等,最近日常办公开始用 wsl,没啥问题。亲测 webpack 打包速度不比同 cpu 的 mac 慢。
    wee911
        2
    wee911  
       2019-07-12 22:08:18 +08:00
    @yuxizhe 用的可是 wsl2 ?
    lhx2008
        3
    lhx2008  
       2019-07-12 22:17:04 +08:00
    和 vbox 挂盘有啥区别?
    rayhy
        4
    rayhy  
       2019-07-12 22:18:10 +08:00 via Android
    可以使用 GPU ??
    PTLin
        5
    PTLin  
       2019-07-12 22:19:24 +08:00
    听说 Windows 上不能用 localhost 访问 Linux?
    adewalike
        6
    adewalike  
       2019-07-12 22:22:15 +08:00
    同想问 GPU 可以用?
    LengthMin
        7
    LengthMin  
       2019-07-12 22:23:18 +08:00 via Android
    正巧今天也在弄 wsl 的环境变量的事,看大家也讨论了很多:
    https://github.com/Microsoft/WSL/issues/1640
    这是我的解法:
    https://lengthmin.me/posts/install-arch-wsl/#配置-path-变量
    yuxizhe
        8
    yuxizhe  
       2019-07-12 22:23:18 +08:00
    @wee911 不是 2,就是正式版的 wsl
    LengthMin
        9
    LengthMin  
       2019-07-12 22:23:46 +08:00 via Android
    @PTLin wsl2 不行了,要通过给定的网址来访问
    creedowl
        10
    creedowl  
       2019-07-12 22:23:46 +08:00 via Android
    能和 vmware 兼容吗
    yuxizhe
        11
    yuxizhe  
       2019-07-12 22:24:42 +08:00
    @PTLin localhost 可以的访问的,因为 web 开发肯定要本地网页调试的,全是 localhost
    LengthMin
        12
    LengthMin  
       2019-07-12 22:24:43 +08:00 via Android
    @creedowl 基于 hyperv 的。。。vmware 不支持在 hyperv 环境下用
    creedowl
        13
    creedowl  
       2019-07-12 23:02:18 +08:00 via Android
    @LengthMin 那就比较蛋疼了。。hyperv 还是比不上 vmware
    OneMan
        14
    OneMan  
       2019-07-12 23:37:03 +08:00
    支持声音?
    mrcn
        15
    mrcn  
       2019-07-12 23:38:03 +08:00 via Android
    @PTLin 没有的事
    proofreading
        16
    proofreading  
       2019-07-12 23:41:08 +08:00
    @LengthMin

    你博客中提到的:ArchWSL 是指:  WSL2 吗?
    paopjian
        17
    paopjian  
       2019-07-12 23:50:59 +08:00
    path 问题很蒙,wsl 和 win 同时装 python 的情况可能会出现调用 win10 的 python,还得重命名一下
    LengthMin
        18
    LengthMin  
       2019-07-13 00:09:15 +08:00
    @proofreading 不是,我用的是 wsl1。wsl1 和 wsl2 可以看做 backend 不同,其他操作是一样的
    LengthMin
        19
    LengthMin  
       2019-07-13 00:10:08 +08:00
    @paopjian 直接改 wsl 的环境变量即可
    CRUD
        20
    CRUD  
       2019-07-13 00:18:04 +08:00 via Android
    还是与 windows 共用网络,不需要通过虚拟网卡访问外部网络吗?
    blless
        21
    blless  
       2019-07-13 00:22:05 +08:00 via Android
    能用 docker 吗
    ob
        22
    ob  
       2019-07-13 00:56:42 +08:00 via Android
    @blless
    blless
        23
    blless  
       2019-07-13 01:00:31 +08:00 via Android
    @blless 大善
    autogen
        24
    autogen  
       2019-07-13 01:22:43 +08:00
    wsl2 和 vmware + debian + xshell 比较,哪个好?
    ericgui
        25
    ericgui  
       2019-07-13 01:42:45 +08:00
    请问您是怎样从 wsl1 升级到 wsl2 的?

    我现在用 wsl,想升级到 wsl2,但怕升级之后各种配置什么的会丢失。
    dns00001
        26
    dns00001  
       2019-07-13 09:48:03 +08:00
    @ericgui 先把 Win10 升级到预览版 10.0.18932.1000 及以上版本,然后在 PowerShell 中执行 wsl --set-version <Distro> 2 把 1 升级到 2。这是微软的官方文档 docs.microsoft.com/en-us/windows/wsl/wsl2-install。
    ysn2233
        27
    ysn2233  
       2019-07-13 11:00:40 +08:00
    我之前 insight builder 版本用 wsl2 的时候一直启动不了,保远程主机强制关闭连接,好像一直没解决,我看 github 上有这个 issue,但是 wsl2 还没发新版是么
    KuroNekoFan
        28
    KuroNekoFan  
       2019-07-13 11:15:37 +08:00
    @autogen 我觉得是 wsl2 好,说的粗俗一点,用 vmware 这种虚拟机就像带套
    ericgui
        29
    ericgui  
       2019-07-13 11:35:35 +08:00
    @dns00001 感谢回复。我其实知道怎么升级,就是不知道这是不是“平滑升级”,原先的配置什么的,都会不会丢失。谢谢
    simple2025
        30
    simple2025  
       2019-07-13 11:53:13 +08:00
    vagrant 大法好
    yushi17
        31
    yushi17  
       2019-07-13 11:53:38 +08:00 via Android
    wsl2 为啥比 win10 还快啊
    stern123
        32
    stern123  
    OP
       2019-07-13 15:41:55 +08:00 via iPad
    @yushi17 #31 不是 wsl2 比 win10 快,是 python@wsl2 比 python@win10 快,接近 python@native linux 的速度
    这里还有个好玩的地方:i3 2370m 这个 cpu 上,同一个 python 程序,win 和 linux 的运行时间比约为 2.6 ;同事的 amd 3500u,这个比例只有 1.5。然后还是相同的程序,8265u 能比 3500u 快一倍,挺出乎意料的。

    @ericgui 升级…绝不是界面显示的“只要几分钟”…我选择卸载重装

    @autogen @lhx2008 看需求吧,wsl2 和系统集成度更高一些,真的就像是 cmd ; vmware 就更像是个独立的程序了。另外传文件的时候,wsl2 舒服多了。还有一点,用 vmware+xshell,你用笔记本的话会很苦恼的(除非你不盒盖睡眠 /休眠)。如果只是需要个 shell,wsl2 非常好。但是各个工作需求都不一样,还得具体问题具体分析。

    @LengthMin 直接改 wsl 的环境变量是个好办法,反正天天混在 linux 下的,早就习惯改来改去了:-)
    googleone
        33
    googleone  
       2019-07-13 15:46:36 +08:00
    @stern123 #32 看来是不能平滑升级了
    encro
        34
    encro  
       2019-07-13 18:43:47 +08:00
    公司一直用 wsl1,设置了自动启动 servcie,自动启动 wsl,然后开一个 sshd,将 /mnt/d/作一个链接到账户目录下,基本满足所有日常开发需求
    yushi17
        35
    yushi17  
       2019-07-13 22:14:25 +08:00
    python@wsl2 为啥会比 python@win10 快啊,win10 上的 python 不是 native 的吗?是因为 python 在 linux 下本来就要比在 win 下快很多吗(看数据是这样?)
    yushi17
        36
    yushi17  
       2019-07-13 22:15:17 +08:00   1
    python 在 win 和 linux 下效率差别竟然这么大好神奇呀(原谅我的无知)
    LengthMin
        37
    LengthMin  
       2019-07-30 15:49:45 +08:00
    mattx
        38
    mattx  
       2019-07-30 20:02:24 +08:00
    @yushi17 确实更快, 跑 pystone 可以明显看出来
    from test import pystone
    pystone.main()
    fcymk2
        39
    fcymk2  
       2019-08-12 12:59:00 +08:00
    需要 32bit 支持的话, 可以直接安装 32bit 库了吗? 还是和 wsl 一样, 要用 qemu?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2834 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 14:40 PVG 22:40 LAX 06:40 JFK 09:40
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86