WSL 2 太好用了啊 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Pin
V2EX    Windows

WSL 2 太好用了啊

  •  
  •   Pin 2023-06-25 13:12:58 +08:00 24241 次点击
    这是一个创建于 841 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人 Windows 小白,一直是 mac 上搞开发和 apple tv 观影,最近买了一个台式机打游戏,顺便搞了一下 wsl 2 ,可以和 windows 内部衔接,连 git 都不用下载,感觉 windows 也可以搞开发了。

    目前 windows 平台最大的问题就是没有像 infuse 这样的播放器大杀器,不然可以全面转 windows 了。目前在我看来 apple 最大的优势(对我来说)就是 apple tv 的 infuse 了。

    144 条回复    2023-07-12 15:11:13 +08:00
    1  2  
    Vegetable
        1
    Vegetable  
       2023-06-25 13:20:25 +08:00   1
    如果不是被 Vmmem 与 Docker 困扰,我很很赞同你的说法。不过现在我暂时选择双系统。
    worldqiuzhi
        2
    worldqiuzhi  
       2023-06-25 13:21:35 +08:00   2
    用着用着就有各种问题 最终还是回归到 vm 虚拟机
    ersic
        3
    ersic  
       2023-06-25 13:24:11 +08:00
    @Vegetable 啥困扰,直接 wsl 里面装 docker 不用 desktop ,体验跟 linux 差不多
    aydd2004
        4
    aydd2004  
       2023-06-25 13:25:33 +08:00
    这玩意儿就是最近几年 win 最有用的东西。
    cloud2000
        5
    cloud2000  
       2023-06-25 13:30:32 +08:00
    @ersic 真的可以这样搞吗? 稳定否?
    flyico data-uid=
        6
    flyico  
       2023-06-25 14:06:22 +08:00   1
    目前体验最好的 Linux 发行版是 win10
    pota
        7
    pota  
       2023-06-25 14:13:02 +08:00
    我现在家里电脑遇到的就是如果开机不打开 wsl 等一个现在不知道多久的时间之后就打不开了。搞的我每次玩了一段时间来事情之后还得重启,和双系统没啥区别了
    c3de3f21
        8
    c3de3f21  
       2023-06-25 14:15:31 +08:00
    试一下用 wsl2 烧录程序到硬件
    maxssy
        9
    maxssy  
       2023-06-25 14:17:26 +08:00
    wsl2 的动态 IP 你是怎么解决的?
    我在里面装了个 MONGO, 每次外面的 MONGO 客户端想连都要改 IP
    有没有官方的改静态 IP 的方法, 不想用网上那种改注册表之类的
    zed1018
        10
    zed1018  
       2023-06-25 14:20:33 +08:00
    @maxssy 外面直接用 localhost:port 就好了
    zhlssg
        11
    zhlssg  
       2023-06-25 14:23:15 +08:00
    为什么说 infuse 是大杀器啊,我订阅了用了一段时间没感觉到特异之处啊
    Nuttertoo1s
        12
    Nuttertoo1s  
       2023-06-25 14:27:21 +08:00   2
    wsl2 io 速度太慢了
    smirkcat
        13
    smirkcat  
       2023-06-25 14:27:51 +08:00
    只用 wsl1 ,我要交叉编译
    leonshaw
        14
    leonshaw  
       2023-06-25 14:28:13 +08:00
    要启动参数里开 hyper-v ,跟其它硬件虚拟化不兼容
    alexsz
        15
    alexsz  
       2023-06-25 14:28:50 +08:00
    @maxssy 搜 wsl 2 port forwarding
    japeth
        16
    japeth  
       2023-06-25 14:30:22 +08:00
    PotPlayer 播放器挺不错
    Trim21
        17
    Trim21  
       2023-06-25 14:31:19 +08:00 via Android
    好用是好用,就是会固定遇到 Vmmem CPU100%的问题,只能双系统了…
    daydreamcafe
        18
    daydreamcafe  
       2023-06-25 14:33:12 +08:00
    io 体验太差了,不过 wsl 可以体验 linux 的开发环境,还有 windows 众多的应用生态,权衡下不错的选择
    lithiumii
        19
    lithiumii  
       2023-06-25 14:39:27 +08:00 via Android
    @Nuttertoo1s 走挂载(/mnt/c )的 io 慢 ,原生还好吧
    xiaochuaner
        20
    xiaochuaner  
       2023-06-25 14:40:30 +08:00
    @c3de3f21 是不是现在只能通过网络的方式转发呀,不过文件系统可以互相访问,编译完了再 windows 烧录也凑合着用
    lithiumii
        21
    lithiumii  
       2023-06-25 14:42:06 +08:00 via Android
    Windows 要啥 Infuse ?服务端是 Emby 的话商店里有 Emby 客户端,要不然就 Kodi 呗
    wangkun025
        22
    wangkun025  
       2023-06-25 14:43:48 +08:00 via Android
    之前做开发使用 wsl2 ,最终因为各种问题放弃了
    mokeyjay
        23
    mokeyjay  
       2023-06-25 14:51:00 +08:00
    @cloud2000 #5 亲测可以,我的本地开发环境都是 wsl2 docker
    JayZXu
        24
    JayZXu  
       2023-06-25 14:56:20 +08:00   1
    windows 下好用的播放器不要太多
    懒得折腾下个完美解码一键切配置
    愿意折腾 potplay 自己配解码器

    infuse 感觉没啥特别优势。
    sprite82
        25
    sprite82  
       2023-06-25 15:00:41 +08:00   1
    > 感觉 windows 也可以搞开发了
    windows 什么时候不能搞开发了?除了 xcode ,主流编程有不能在 win 上运行的吗?
    flyqie
        26
    flyqie  
       2023-06-25 15:01:22 +08:00 via Android   1
    从 wsl2 跑路到 wsl1 + vmware workstation 的路过。。

    wsl2 这种模式,io 性能什么的,用来用去真的不如 wsl1 + vmware ,灵活且 io 性能还高。。
    han3sui
        27
    han3sui  
       2023-06-25 15:06:32 +08:00 via Android
    @maxssy win11 可以设置静态 ip
    c3de3f21
        28
    c3de3f21  
    2023-06-25 15:19:01 +08:00
    @xiaochuaner WSL2 目前不支持串口据说是但是 WSL1 支持,WSL2 重新编译内核还没试过能不能支持串口
    weijancc
        29
    weijancc  
       2023-06-25 15:20:00 +08:00
    wsl2 会虚拟化整机, 影响你 Windows 系统的性能, 我已经换回 vmware 了
    maxssy
        30
    maxssy  
       2023-06-25 15:21:46 +08:00
    @zed1018 不行, 外面我也跑了一个 mongodb T_T
    fanmlei
        31
    fanmlei  
       2023-06-25 15:22:31 +08:00   1
    @c3de3f21 可以用 usbipd 把设备挂载到 wsl2 上面,只是每次都需要手动操作
    sadfQED2
        32
    sadfQED2  
       2023-06-25 15:23:10 +08:00 via Android
    各种各样奇奇怪怪的问题太麻烦了,最后还是放弃了
    maxssy
        33
    maxssy  
       2023-06-25 15:31:20 +08:00
    @han3sui 我知道可以, 但目前找到的方法都是改注册表之类太繁琐了, 而且设置了不知道会不会导致其他问题.
    我希望官方有类似 wsl2 set static IP: xxx 这样的方案
    panzhc
        34
    panzhc  
       2023-06-25 15:43:33 +08:00
    panzhc
        35
    panzhc  
       2023-06-25 15:45:31 +08:00
    本质上还是 Hyper-V 虚拟机,各种兼容性问题一大堆,io 慢也是个大问题,一个正常开发者需要编译打包大量文件的时候,特别明显,就这样怎么吸引开发者呢?
    chmod711xxx
        36
    chmod711xxx  
       2023-06-25 15:49:56 +08:00   1
    sayakafs
        37
    sayakafs  
       2023-06-25 15:53:27 +08:00
    wsl 2 开了虚拟机没法嵌套虚拟化了 这点特别不爽
    boatrain1111
        38
    boatrain1111  
       2023-06-25 15:53:42 +08:00
    io 慢的一笔
    zed1018
        39
    zed1018  
       2023-06-25 15:57:57 +08:00
    @panzhc 不要跨文件系统,东西丢 wsl 下
    ersic
        40
    ersic  
       2023-06-25 16:03:39 +08:00
    @cloud2000 我觉得还行,当然个体不代表全部
    diagnostics
        41
    diagnostics  
       2023-06-25 16:23:46 +08:00
    当玩具可以,吹的那些人不知道有没有在工作机器上开发时试过
    sunxiaping521
        42
    sunxiaping521  
       2023-06-25 16:27:06 +08:00
    @Vegetable 现在,VmWare 、WSL2 以及 Docker 已经不冲突了
    Vegetable
        43
    Vegetable  
       2023-06-25 17:05:22 +08:00   2
    @sunxiaping521 wsl 当前有比较严重严重的内存问题

    https://learn.microsoft.com/en-us/windows/wsl/compare-versions#exceptions-for-using-wsl-1-rather-than-wsl-2

    https://github.com/microsoft/WSL/issues/4166

    wsl2 中磁盘 page cache 占用的缓存在 wsl2 关闭之前永远不会释放, 这导致 docker 这种服务成了内存杀手

    基于这两个问题,对于需要长时间启动多个编辑器和 docker 环境的开发者, 不得不频繁 wsl --shutdown 重置缓存,非常难受
    zed1018
        44
    zed1018  
       2023-06-25 17:09:49 +08:00   1
    @Vegetable 不至于要 wsl shutdown ,linux 里正常 echo 3 > /proc/sys/vm/drop_caches 就会抛弃这些部分,另外 wsl2 预览版做了一个体验版的选项说是自动释放
    Vegetable
        45
    Vegetable  
       2023-06-25 17:13:12 +08:00
    @zed1018 这个 3 我还真试过,当时感觉好像是没什么效果, 刚才我找链接的时候又看到了这篇文章

    https://devblogs.microsoft.com/commandline/memory-reclaim-in-the-windows-subsystem-for-linux-2/#:~:text=This%20is%20a%20design%20decision%20to%20ensure%20you,and%20your%20WSL2%20VM%20will%20shrink%20in%20size.

    看时间是 2019 的内容了, 这里又用的是 1 ,晚上再是一下看看
    junlong
        46
    junlong  
       2023-06-25 17:15:33 +08:00
    @zhlssg 估计是自动收集影视数据,形成海报墙吧。
    lysS
        47
    lysS  
       2023-06-25 17:33:28 +08:00
    @Vegetable wsl2 直接里面装啊, 而且现在支持 systemd 了
    cubecube
        48
    cubecube  
       2023-06-25 17:37:02 +08:00
    @maxssy hyperv 里面可以创建一个 vswitch ,直接写死 ip 地址或者桥接到路由器,系统里面 static 分配。
    cubecube
        49
    cubecube  
       2023-06-25 17:38:19 +08:00
    @Vegetable 这个严格来说的确没办法释放,你用别的虚拟机也一样。。linux 的文件页面缓存闹的
    限定一个最大的内存使用量得了。
    cy18
        50
    cy18  
       2023-06-25 17:43:57 +08:00
    其他很多问题都可以通过加内存之类的硬件方式解决,除了 USB 支持不行,WSL2 缺点已经不多了。
    lysS
        51
    lysS  
       2023-06-25 17:45:22 +08:00
    @panzhc io 和 win 主机比不会差太多,大概就低 20-30%
    whisky221
        52
    whisky221  
       2023-06-25 17:48:11 +08:00
    Hyper-V 和 VM 冲突很致命
    aflow
        53
    aflow  
       2023-06-25 19:01:14 +08:00
    新版的支持桥接了,不过也可以用使用这个 https://github.com/CzBiX/WSLHostPatcher ,绑定到本机的端口上
    dobelee
        54
    dobelee  
       2023-06-25 19:16:52 +08:00 via iPhone
    @cloud2000 全程 wsl 开发好几年了,没什么问题,jb 和 vs 的支持都基本到位,唯一的缺点是 io 性能较低。docker 一定要装 linux 版,别装 desktop 。
    bjfane
        55
    bjfane  
    PRO
       2023-06-25 19:21:50 +08:00
    我也在找固定 ip 的方案,好像没有啊,和 win server 的 hyper-v 能管理相比,还是差点意思。
    另外 windows 为什么不能直接做开发,目前我的不爽的点就是 git 和 docker 都不是原生的,有点不爽
    newlifeinsc
        56
    newlifeinsc  
       2023-06-25 19:32:16 +08:00   1
    @bjfane 固定 ip 已经有挺久了,就是在 hyper-v 里建个网卡,然后让 wsl2 用这个网卡就行了。#36 楼的链接就是方法。systemd 也是直接支持,wsl2 就当作虚拟机跑目前没遇到问题,可能就一些 usb 之类的地层有的区别吧
    Shook
        57
    Shook  
       2023-06-25 19:40:12 +08:00
    WSL2 里面用 pnpm 很痛苦,其它的事情好像还好
    a90120411
        58
    a90120411  
       2023-06-25 19:44:26 +08:00
    OP 可以分享一些你觉得 infuse 的哪些功能是比较有特色或独有的吗?很想了解一下。
    xiaochuaner
        59
    xiaochuaner  
       2023-06-25 20:00:21 +08:00   1
    @c3de3f21 这个倒装,山东老乡? WSL1 确实支持,WSL2 确实不支持。微软专门出了教程 https://learn.microsoft.com/en-us/windows/wsl/connect-usb
    luvfinn
        60
    luvfinn  
       2023-06-25 20:27:31 +08:00
    直到今天我遇到了这个错误:
    wsl.exe
    Error: 0xffffffff
    Error code: Wsl/Service/CreateInstance/CreateVm/ConfigureNetworking/0xffffffff
    gpt5
        61
    gpt5  
       2023-06-25 20:32:41 +08:00
    gpu 性能怎么样?能炼丹了么?
    leewi9coder
        62
    leewi9coder  
       2023-06-25 20:36:01 +08:00
    vagrant yyds
    ldyisbest
        63
    ldyisbest  
       2023-06-26 00:02:19 +08:00
    @maxssy 直接 127.0.0.1 是可以访问的
    500
        64
    500  
       2023-06-26 00:09:55 +08:00 via iPhone   1
    WSL2 目前最大的问题还是 IO ,其次 hyper-V 端口占用问题,不能像 VM 一样,指定静态 IP 。WSLg 目前更是玩具,像 OBS 还有其他一些图形化界面软件要么卡死要么时不时打不开。目前只期望解决 IO 问题,其他慢慢来
    500
        65
    500  
       2023-06-26 00:15:03 +08:00 via iPhone
    @paulluis2dev 尽管 IO 缓慢问题早在 19 年就提到 GitHub issues 区,至今还是 open 状态
    aliipay
        66
    aliipay  
       2023-06-26 00:28:45 +08:00
    @paulluis2dev 大一点的项目 git status 都要几十秒,表示非常蛋疼
    superchijinpeng
        67
    superchijinpeng  
       2023-06-26 00:45:13 +08:00 via iPhone
    @lysS
    @dobelee

    wsl 上 docker 官方不推荐使用 linux 原生版,性能太差了,官方安装更推荐使用 desktop
    just4id
        68
    just4id  
       2023-06-26 00:45:33 +08:00 via iPhone
    村通电?
    superchijinpeng
        69
    superchijinpeng  
       2023-06-26 00:48:02 +08:00 via iPhone
    cnfczn
        70
    cnfczn  
       2023-06-26 08:00:10 +08:00 via Android
    如果不是 windows 里边的一些专有软件并且不想用 wine,我就单 linux 裸奔了。windows 这种不注重用户想法我行我素的系统,我绝 b 不会作为主力系统!
    litguy
        71
    litguy  
       2023-06-26 08:40:31 +08:00
    wsl1 死忠路过,坚决不用 wsl2
    hoopan
        72
    hoopan  
       2023-06-26 08:56:50 +08:00
    wsl2 + vscode 一般开发是够用了
    lysS
        73
    lysS  
       2023-06-26 09:17:08 +08:00
    @superchijinpeng 开发才要多少点性能,我也根本没体会到有什么下降
    wangerka
        74
    wangerka  
       2023-06-26 09:29:38 +08:00
    @ersic wsl 支持 systemd 了吗
    a632079
        75
    a632079  
       2023-06-26 09:37:19 +08:00
    Derrick92
        76
    Derrick92  
       2023-06-26 10:03:20 +08:00
    galphaxie
        77
    galphaxie  
       2023-06-26 10:19:38 +08:00
    wsl2 + vscode + vmware 调教好几个月之后, 现在基本被驯服, 值得推荐.
    kqz901002
        78
    kqz901002  
       2023-06-26 10:29:31 +08:00
    @maxssy nmtui?
    kqz901002
        79
    kqz901002  
       2023-06-26 10:36:07 +08:00
    @Nuttertoo1s 是的, 通常我用 wsl1 的 git, wsl2 主要快速验证各个发行版
    kqz901002
        80
    kqz901002  
       2023-06-26 10:36:58 +08:00
    @maxssy $ nmtui
    Could not contact NetworkManager: Could not connect: No such file or directory. me 卵用, 有 port forward 基本上可映射到主机 port
    sunamask
        81
    sunamask  
       2023-06-26 10:41:48 +08:00
    话说……在开发终端上追求性能表现是不是搞错了什么?俺做数据科学的,计算量大的工作都在集群上运行,码 bug 用的笔记本上装 wsl2 还挺舒服的。
    Belmode
        82
    Belmode  
       2023-06-26 10:57:35 +08:00
    WSL2 ,会影响 Windows 性能的。装个虚拟机,也就多占点内存而已。
    DigitalG
        83
    DigitalG  
       2023-06-26 11:18:37 +08:00
    @ersic #3 这种安装方式支持 nvidia 的驱动和 cuda 工具吗?之前在 nvidia 的官方指导上看到的是推荐装 desktop.
    generated
        84
    generated  
       2023-06-26 11:19:25 +08:00
    @pota 可能是加速器的问题,uu 加速器和 wsl2 默认不能同时开启,我之前也碰到过这个问题
    Nasei
        85
    Nasei  
       2023-06-26 11:28:45 +08:00   1
    @aliipay 你这是从 wsl2 操作 win 目录了吧
    Nuttertoo1s
        86
    Nuttertoo1s  
       2023-06-26 11:38:27 +08:00
    @sunamask 不是说追求性能,代码写好之后得本地跑一下吧,就简单的遍历文件,复制文件和生成文件,正常 wsl 1 下一般 1 分钟不到能处理完,切换到 wsl 2 起码得 10 分钟,再比如我反编译 apk ,一个 30m 不到的包,wsl 1 30 秒到 1 分钟能反编译好,切换 wsl 2 我最长跑过 30 分钟还没处理好的,离了个大普
    Awes0me
        87
    Awes0me  
       2023-06-26 12:47:37 +08:00
    @zhlssg infuse 支持格式全,界面好看,操作方便,这 3 点每一点单独拎出来好像都有竞品,但是合在一起那是真没,功能强大的 mvp 丑+难用,pot 易用,但是不支持杜比视界也没有海报墙
    Awes0me
        88
    Awes0me  
       2023-06-26 12:48:53 +08:00
    @JayZXu 你说的都不支持杜比视界,也没有海报墙,根本无法和 infuse 比
    aliipay
        89
    aliipay  
       2023-06-26 12:49:19 +08:00
    @Nasei win 目录是个什么?
    klo424
        90
    klo424  
       2023-06-26 13:08:06 +08:00
    不知道为什么很多人说 Windows 的 docker 不好用,我公司电脑装过好几次 docker 都好使啊?
    ioioj5
        91
    ioioj5  
       2023-06-26 17:02:42 +08:00
    wsl2 + docker 很香, 就是有点吃机器
    itgoyo
        92
    itgoyo  
       2023-06-26 17:57:23 +08:00
    wsl2 挺好的,就是一周不关机的时候就比较卡,老是每隔一周就要重启电脑
    rbaloatiw
        93
    rbaloatiw  
       2023-06-26 19:11:41 +08:00
    @Vegetable https://github.com/microsoft/WSL/releases/tag/1.3.10 1.3 加入了一个试验性的自动回收机制, 可以试试
    BeautifulSoap
        94
    BeautifulSoap  
       2023-06-26 19:25:25 +08:00 via Android
    @Nuttertoo1s 不要在 wsl2 里访问 Windows 下的文件,反过来也一样。虚拟机间的文件共享一直以来都是老大难问题。wsl2 访问自己的磁盘性能非常强接近原生的。
    chaleaochexist
        95
    chaleaochexist  
       2023-06-26 19:33:14 +08:00
    @zed1018 localhost 只能在本地访问.
    我想给其他人提供服务 就完犊子了.
    leenhawk
        96
    leenhawk  
       2023-06-26 21:17:50 +08:00
    @chaleaochexist 配端口转发呀,win 可以转发端口的,还有把 WSL 的前置访问打开就行了
    smallthing
        97
    smallthing  
       2023-06-26 22:07:28 +08:00
    笑死了 这里面 95%的人都是固步自封的玩意。
    smallthing
        98
    smallthing  
       2023-06-26 22:08:36 +08:00
    @Awes0me 首先你用 oled 显示器?其次 potplayer 支持 dv 你不会罢了。
    smallthing
        99
    smallthing  
       2023-06-26 22:09:20 +08:00
    @Belmode 影响 3%都不到 我用的 13600k 没有任何体感,我日常打 fps 游戏
    smallthing
        100
    smallthing  
       2023-06-26 22:09:53 +08:00
    @Shook 并没有 非常快乐
    1  2  
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1045 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 18:26 PVG 02:26 LAX 11:26 JFK 14:26
    Do have faith in what you're doing.
    ubao 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