lydhr
V2EX  ›  Windows

Windows subsystem for Linux (WSL)的用户有踩过什么坑吗

  •  
  •   lydhr · Dec 30, 2021 · 10200 views
    This topic created in 1771 days ago, the information mentioned may be changed or developed.

    run 一个 ubuntu 的时候 memory 几乎没有增加,跑一些开源 code 是没问题了,感觉就是更高效 built-in 的 VM

    64 replies  •  2021-12-31 22:08:16 +08:00
    gzlock
    gzlock
    Dec 30, 2021
    1
    也就 wsl2 的文件系统性能不咋行吧,然后 git 会偶发问题,例如修改了文件但是 git 没检测到文件有变化
    datou
    datou
    Dec 30, 2021❤️1
    2
    没有 IPv6 支持算不算坑?
    sayakafs
    sayakafs
    Dec 30, 2021 via iPhone
    3
    win11 和 vmware 冲突,后者多核挂起报错。
    ericgui
    ericgui
    Dec 30, 2021
    4
    wsl2 的性能还是差点意思
    chaoschick
    chaoschick
    Dec 30, 2021 via Android
    5
    不好用
    me221
    me221
    Dec 30, 2021
    6
    127.0.0.1 和 localhost ?
    ciichen
    ciichen
    Dec 30, 2021 via Android❤️5
    7
    ip 不固定
    cslive
    cslive
    Dec 30, 2021
    8
    ip 不固定 加+
    biechuli
    biechuli
    Dec 30, 2021 via Android
    9
    idea 开发的时候 maven sync 特别慢,猜测是文件系统 io 太慢的原因
    charlie21
    charlie21
    Dec 30, 2021
    10
    在 wsl 开着的情况下 让电脑睡眠或休眠 唤醒电脑之后 用 `date` 查看 wsl 系统时间可能会有问题(导致最简单的 `sudo apt update` 都无法使用),此时需要在联网的情况下用 NTP 校准到正常时间
    `sudo ntpdate pool.ntp.org`
    Shokupanman
    Shokupanman
    Dec 30, 2021 via Android❤️1
    11
    QQ 截图之后任务栏疯狂闪烁,得 wsl --shutdown 才行
    cweijan
    cweijan
    Dec 30, 2021
    12
    - ip 不固定
    - 没有 systemd, 导致部分依赖 systemd 的软件无法安装
    - 内存占用大, 如果设置最大内存, 那这个内存就是 wsl 开机后会立刻占用的内存
    LittleSharkDaDa
    LittleSharkDaDa
    Dec 30, 2021 via iPhone
    13
    io 速度和权限问题(比如在 win 中编辑 wsl 中的文件,以及在 wsl 中编辑 win 中的文件
    Pogbag
    Pogbag
    Dec 30, 2021 via iPhone
    14
    要手动修改 ssh 的端口 22 被 windows 占用了
    wgjtyu
    wgjtyu
    Dec 30, 2021
    15
    如果是微信小程序开发并且用 tarojs 之类的库,用 wsl 里的 nodejs 来编译之外,还得在 windows 系统里再装一个 nodejs 吧。本质上还是虚拟机,因此包括 python 、git 之类的都可能需要在两个系统里面同时安装。
    mx8Y3o5w3M70LC4y
    mx8Y3o5w3M70LC4y
    Dec 30, 2021
    16
    wsl2 关闭后内存释放不掉,会一直占用着。
    cwr31
    cwr31
    Dec 30, 2021 via iPhone
    17
    @gzlock 那是你垮文件系统了吧
    quanjw
    quanjw
    Dec 30, 2021❤️1
    18
    不好用 还是 vm 靠谱
    gzlock
    gzlock
    Dec 30, 2021
    19
    @cwr31 #17 就是在 windows 安装的 idea 直接打开 wsl 里的项目咯
    Eiden
    Eiden
    Dec 30, 2021
    20
    usb 设备支持非常不好
    gzlock
    gzlock
    Dec 30, 2021
    21
    b/s 开发我都是直接 wsl 里用 docker 开 nginx 再 80 映射端口到宿主机,浏览器直接打开 localhost 就可以访问了,所以 ip 不固定对于我来说也不算啥问题。
    LANB0
    LANB0
    Dec 30, 2021
    22
    之前不配置 wslconfig 会占满主机内存无法释放,现在不知道还是不是存在
    raptor
    raptor
    Dec 30, 2021
    23
    都是坑,反正我试了一会就放弃了,好好用 LINUX 不香嘛
    biguokang
    biguokang
    Dec 30, 2021 via Android
    24
    @wgjtyu 这个是因为微信开发者工具只有 mac 和 win 版,没有 linux 版把。。。我写 go 和 js ,win10 本身很干净只装了个 lol ,开发环境、工具和代码全在装在 wsl2 里面,也没啥问题
    Privileges
    Privileges
    Dec 30, 2021 via Android
    25
    没有 system ,wsl2 会和其他安卓模拟器冲突
    zachgenius
    zachgenius
    Dec 30, 2021
    26
    文件 BOM 还有磁盘格式错误让我根本没法用
    xwcs
    xwcs
    Dec 30, 2021
    27
    wsl --shutdown 之后如果休眠电脑再打开后启动 wsl 有一定概率会出现[已退出进程,代码为 4294967295]的报错,然后只要重启一下电脑就恢复正常了,从 wsl1 到 2 一直都存在的问题
    yangzzzzzz
    yangzzzzzz
    Dec 30, 2021❤️1
    28
    上半年从 mac 换 win 开发,为了终端好用点用的 wsl2 ,主要用的就 node 后面折腾了一圈放弃了。。一堆小 bug 太影响开发效率了
    ScepterZ
    ScepterZ
    Dec 30, 2021
    29
    读 win 的文件很慢,别的 bug 暂时都用不上
    cwr31
    cwr31
    Dec 30, 2021 via iPhone
    30
    @gzlock 项目稍微大一点基本用不了 各种索引特别慢,已经放弃了
    wangyzj
    wangyzj
    Dec 30, 2021
    31
    cd ${git repo dir}
    卡住了
    radioactivezx
    radioactivezx
    Dec 30, 2021
    32
    在家连进公司 VPN 后 ssh 连不上内网其它机器,cmd/poweshell 就没问题。
    userforg2021
    userforg2021
    Dec 30, 2021
    33
    打了一堆字说上面的问题,然后放弃了,算了。
    这个东西因人而异,使用方式不同,感受完全不同。遇到坑再去网上搜。记得配 wslconfig ,使用 localhost 访问 wsl 。把它当轻量 VM 用。
    ShadowPower
    ShadowPower
    Dec 30, 2021
    34
    挂载不了 ext4 镜像
    secsilm
    secsilm
    Dec 30, 2021 via Android
    35
    我记得之前 wsl 不能用 gpu ,不知道现在咋样了
    ShadowPower
    ShadowPower
    Dec 30, 2021
    36
    @secsilm Windows11+WSL2+测试版驱动已经可以用了
    libook
    libook
    Dec 30, 2021❤️3
    37
    除了 IP 不固定,楼上所有问题都没遇到过……

    我是在 Windows 上装 XServer 的方式在 WSL2 环境下跑 GUI 界面,用 IDEA 做全栈开发,差不多两年时间了吧,还挺好用的。

    WSL2 是跑在 Hyper-V 里面的,同一个系统上只能有一个虚拟化平台,所以开了 WSL2 之后其他虚拟机软件就用不了了,这个有些杀毒软件开了 VM 引擎之后跟虚拟机软件冲突也是一样的。

    WSL2 有自己的文件系统,但跟 Windows 的文件系统是打通的,git 之类的需要依赖文件系统特性的只要放在 WSL2 自己的文件系统内就没问题。

    WSL2 是类似于 chroot 的方式运行 Linux 环境的,所以没法用 systemd 之类的服务管理工具,我的解决方案是需要跑服务的都跑在 Docker 里,由于 Windows 的 Docker Desktop 太难用了,所以在 Hyper-V 里面开个 Linux 虚拟机专门跑 Docker daemon ,WSL2 里只需要配置一个 DOCKER_HOST 的环境变量就可以了。

    以及有很多问题是因为用户对 Linux 不熟悉,往往调整一下配置就能解决的。

    总体来说 WSL 是面向应用开发的,系统开发、硬件开发还是直接装 Linux 吧。
    TrembleBeforeMe
    TrembleBeforeMe
    Dec 30, 2021❤️2
    38
    连宿主机可以直接用宿主机名称.local ,比如 DESKTOP-114514.local ,不再需要脚本查找宿主机 IP 了
    zhilincom
    zhilincom
    Dec 30, 2021
    39
    tail -f windows 下的日志文件不能实时更新。
    xe2vherd
    xe2vherd
    Dec 30, 2021
    40
    1. 不要尝试 pycharm 使用 wsl 读取 windows 文件夹中的数据。
    2. 不要尝试 pycharm 使用 wsl 打开浏览器 /文件夹
    3. 搞个开发机吧,使用 wsl 不管是 1 还是 2 ,都是遭罪受。
    uni
    uni
    Dec 30, 2021
    41
    刚遇到一个坑

    需求是写手机端页面要用手机在局域网里面连 wsl2 里面的 vue 开发服务器查看页面,但是局域网不能直接访问到 wsl ,必须要在 windows 上开转发,手机访问电脑,电脑转发到 localhost ,localhost 可以直接访问 wsl 的 localhost 。按照网上教程一通设置之后可以用了。

    可是不知道为什么,过了两个小时之后电脑就访问不了 localhost 了,一访问 localhost:8080 就显示找不到页面,而且电脑还会变卡,打开任务管理器之后发现是 iphelper 这个进程占用了大量 cpu ,网上搜了一圈也不知道是怎么回事

    从此之后电脑再也无法访问 localhost:8080 了,要想访问 vue 的开发服务器只能用 wsl 的 ip:8080 来访问,手机访问 vue 也只能每次开机的时候设置转发到 wsl 的 ip

    尝试了一下 127.0.0.1:8080 也不行,而用 vite 的 localhost:3000 没有问题。至今也不知道是怎么回事。
    neutrino
    neutrino
    Dec 30, 2021 via Android
    42
    wsl 内无法用 localhost 访问 host 的端口
    virualv
    virualv
    Dec 30, 2021 via iPhone
    43
    wsl 里看 win 下文件权限 777
    Zien
    Zien
    Dec 30, 2021 via iPhone
    44
    启用 wsl2 后,用 vbox 和 vmware 会很卡
    makia98
    makia98
    Dec 30, 2021
    45
    @libook 用 NAT 静态 IP 可不可以固定呢?大佬有尝试过吗
    libook
    libook
    Dec 30, 2021
    46
    @makia98 #44 WSL2 是被微软做的一个特殊的 Hyper-V 实例,默认行为就是每次系统启动都随机一个 IP ,这个你自己是没法在 Hyper-V 的控制台里控制的,你调 NAT 静态 IP 最终的结果很可能是 WSL2 依然每次启动随机一个 IP ,然后你跟 WSL2 的网络连接按照你自己配置的静态 IP 来连接,最终发现根本连不上了。
    wangyu17455
    wangyu17455
    Dec 30, 2021❤️1
    47
    具名管道有问题,读不到东西
    iSecret
    iSecret
    Dec 30, 2021
    48
    用过一段时间 WSL ,装了个 Docker 没有固定 IP ,搞了一些特殊手段绑定了,但是不稳定,后来还是放弃了。
    abersheeran
    abersheeran
    Dec 30, 2021
    49
    WSL 很友好。想用 Linux 内核的请自觉开虚拟机,而不是用到处是 BUG 的 WSL2 。
    aptx4689
    aptx4689
    Dec 30, 2021
    50
    wsl2 + windows11 间歇蓝屏
    efaun
    efaun
    Dec 30, 2021
    51
    在坑里从来没爬出来过, 所以退回到 win10+虚拟机
    oska874
    oska874
    Dec 30, 2021 via Android
    52
    电脑 n 内存放大点( 32g 起步),硬盘要固态放大点( 512 起步),wsl2 不要访问 windows 的文件。
    a22271001
    a22271001
    Dec 30, 2021
    53
    开着 WSL2 ,用 QQ 截图就狂闪😑都快半年了还没修复
    noparking188
    noparking188
    Dec 30, 2021
    54
    我做数据开发的,工作中用了两年半了,WSL1 ,没啥大毛病,就文件系统和 git 文件换行符一些小问题
    用 WSL 最好配上 Windows Terminal
    hez2010
    hez2010
    Dec 30, 2021
    55
    WSL2 走网络协议来做 Linux 和 Windows 文件系统之间的互操作,速度很慢,因此不要跨系统访问文件,如果你要在 WSL 内使用 Windows 下的文件,先复制到 WSL 里面,反之如果要在 Windows 下使用 WSL 里的文件,先复制出去到 Windows 里。
    Ediacaran
    Ediacaran
    Dec 31, 2021
    56
    hyperv 经常莫名其妙的开始占用 1024 开始的端口号,导致梯子和加速器等等失效
    njzjz
    njzjz
    Dec 31, 2021 via iPhone
    57
    电脑从睡眠模式恢复后,偶发性 dns 失效,需要 wsl --shutdown 杀掉 wsl 后重启
    11ssss
    11ssss
    Dec 31, 2021
    58
    docker 配合 wsl 用,记得切换 wsl 磁盘目录,默认在系统用户目录下。
    容易满,前两天刚刚迁移完。
    jswh
    jswh
    Dec 31, 2021
    59
    wsl2 + win 11 , 最大的问题还是 io 性能不行。
    zed1018
    zed1018
    Dec 31, 2021
    60
    win11 上 9pfs 经常挂掉,挂掉以后没办法在 explorer.exe 里访问 wsl fs ,也不能在 wsl fs 里 exec win32 的程序。重启系统可以临时修复,但是肯定会复现。
    kirisamemarisas
    kirisamemarisas
    Dec 31, 2021
    61
    主要还是 IP 和 localhost 问题吧,之前也想过开 docker 。但是有时候要测试一些想法的时还是直接上手撸最快,这坑踩过太多次了。我现在备用一个 U 盘 Manjaro 来快速逃避这些问题了,弄的话太耗心力了。
    ruanimal
    ruanimal
    Dec 31, 2021
    62
    #7 其实是 mac 地址重启 wsl 会变
    chapiom
    chapiom
    Dec 31, 2021
    63
    ip 变,端口映射很麻烦,局域网访问都不好弄
    unklity
    unklity
    Dec 31, 2021
    64
    同 #37
    只是 IP 不固定以及 wslg 目前对多显示器的支持有些问题,在多显示器且使用 DPI 缩放时,部分 GUI 程序元素操作坐标会与显示不符
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4941 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 158ms · UTC 08:50 · PVG 16:50 · LAX 00:50 · JFK 03:50
    ♥ Do have faith in what you're doing.