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

WSL2 试用:还不错的 Linux 环境

  •  
  •   stern123 · 2019-07-12 21:50:58 +08:00 · 14600 次点击
    这是一个创建于 1995 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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 感谢回复。我其实知道怎么升级,就是不知道这是不是“平滑升级”,原先的配置什么的,都会不会丢失。谢谢
    chenqh
        30
    chenqh  
       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 下的,早就习惯改来改去了:-)
    hyf278
        33
    hyf278  
       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   ·   实用小工具   ·   2794 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 07:45 · PVG 15:45 · LAX 23:45 · JFK 02:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.