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

wsl2 是真的好用

  •  
  •   wohenfuyou · 2021-04-16 14:17:08 +08:00 · 13297 次点击
    这是一个创建于 1296 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比虚拟机上跑 linux 强多了

    78 条回复    2021-09-24 16:16:21 +08:00
    suny0508
        1
    suny0508  
       2021-04-16 14:23:40 +08:00
    不能固定 ip 是硬伤
    kickcellardoor
        2
    kickcellardoor  
       2021-04-16 14:25:05 +08:00
    @suny0508 多加一个 nic 可以固定
    hanxiV2EX
        3
    hanxiV2EX  
       2021-04-16 14:28:47 +08:00 via Android
    我用微软的虚拟机也很好用,然后用微软的终端 ssh 连接。
    heyjei
        4
    heyjei  
       2021-04-16 14:35:01 +08:00
    之前用过不稳定,用着用着,网络老是发生变动。
    lerry
        5
    lerry  
       2021-04-16 14:37:43 +08:00
    用了几个月 wsl2,现在用 1,主要就是网络原因
    lizliz
        6
    lizliz  
       2021-04-16 14:37:56 +08:00
    wsl2 和某些虚拟机不能兼容
    NIYIKI
        7
    NIYIKI  
       2021-04-16 14:38:54 +08:00
    之前我也觉得 wsl2 很好用,不过之后还是转虚拟机了,写个脚本,开机后台自启。
    wsl2 不能固定 ip 实在是难受,加上坑爹的内存占用,实在是劝退。
    BeautifulSoap
        8
    BeautifulSoap  
       2021-04-16 14:46:48 +08:00
    @suny0508
    @NIYIKI

    https://v2ex.com/t/744955
    固定 ip 这个可以看我这贴,一个脚本就行每次启动分配固定 ip 。至少比各种在 hosts 里搞 ddns 的好用很多

    然后内存占用这点我比较奇怪的是,wsl2 明明可以像虚拟机那样设置内存占用上限的,设个上限就行了,怎么那么多人都抱怨 wsl2 内存占用多
    NIYIKI
        9
    NIYIKI  
       2021-04-16 15:01:25 +08:00
    @BeautifulSoap #8 我觉得设个上限不”优雅“,比方说为 wsl2 设定 2g 上限,在使用 wsl2 进行工作的时候的确没问题,但是当没有使用 wsl2 进行工作的时候给它还是占用 2g,就觉得有点浪费资源了。
    至于说使用 wsl --shutdown 强行关闭 wsl2 释放内存,还是觉得不太 ”优雅“。
    wolfie
        10
    wolfie  
       2021-04-16 15:03:23 +08:00
    就是编译速度太慢了
    charlie21
        11
    charlie21  
       2021-04-16 15:08:51 +08:00
    对对对,建议别用 wsl 2,建议你的竞争对手用 wsl 2
    BeautifulSoap
        12
    BeautifulSoap  
       2021-04-16 15:10:13 +08:00
    @NIYIKI 你这所谓“优雅”就非常自相矛盾了,虚拟机也是时常占着 2G,按你的标准来说这不优雅,同时你不用虚拟机的时候虚拟机也时常占着 2G 需要手动关闭虚拟机,按你的标准来说这也是不优雅的
    光从你说的这些角度来看,虚拟机的“优雅”程度和 wsl2 并没任何区别
    Mithril
        13
    Mithril  
       2021-04-16 15:20:03 +08:00
    @BeautifulSoap Linux 里面跑的程序不释放内存宿主机也没办法吧?我记得 WSL2 是有 Reclaim 功能的。
    fengxianqi
        14
    fengxianqi  
       2021-04-16 15:22:38 +08:00
    vscode 完美配合 wsl2 挺好的,最近刚上车。前端的福音,npm install 的速度和编译速度都提升了很多,支持 rsync 命令等等,建议 win 用户用 vscode 的前端朋友上车。
    masterclock
        15
    masterclock  
       2021-04-16 15:32:20 +08:00
    1. 想的网络是和 windows 同一个网络,然后 wsl2 是一个独立的网络,IP 还无法固定,外面需要访问 wsl2 里的时候,只能每次 windows 下 netsh 加端口转发,有点麻烦。
    2. windows 下网络变动的时候,vscode remote 也会跟着卡一下,偶尔调试网络设备的时候简直崩溃。
    3. 固定占用内存很麻烦,vmware 等虚拟机并不会一直占着内存。
    Stevenv
        16
    Stevenv  
       2021-04-16 15:35:12 +08:00
    磁盘 IO 是一个问题。。。慢的一笔
    keyfunc
        17
    keyfunc  
       2021-04-16 15:39:47 +08:00
    @Stevenv 你不能访问 Windows 的磁盘,直接访问 linux 磁盘就快的一批了
    BeautifulSoap
        18
    BeautifulSoap  
       2021-04-16 15:40:21 +08:00
    @Mithril wsl2 是有回收内存的,虽说的确有时不太好用。所以我都是直接设个内存占用上限当虚拟机了
    Stevenv
        19
    Stevenv  
       2021-04-16 15:43:52 +08:00
    @keyfunc #17 但是我不想用 vscode 。。彩笔的我,只想用 idea 。。实在用不来,很容易出现奇怪的问题。。只能用 linux 了
    LokiSharp
        20
    LokiSharp  
       2021-04-16 15:43:59 +08:00
    没有 systemd 不好用
    ch2
        21
    ch2  
       2021-04-16 15:46:49 +08:00 via iPhone
    @LokiSharp 用 docker,docker 里用 systemd
    caixiaomao
        22
    caixiaomao  
       2021-04-16 15:49:23 +08:00
    @BeautifulSoap #8 尝试设置过 不知道为什么没生效 😥
    DefoliationM
        23
    DefoliationM  
       2021-04-16 15:51:24 +08:00
    wsl2 不就是虚拟机
    caixiaomao
        24
    caixiaomao  
       2021-04-16 15:54:09 +08:00
    @caixiaomao #22 还会蓝屏 😥
    LokiSharp
        25
    LokiSharp  
       2021-04-16 15:55:17 +08:00
    @ch2 docker 里面用 systemd 就更傻了
    lwldcr
        26
    lwldcr  
       2021-04-16 15:59:28 +08:00
    @Stevenv 是的 不用 vscode 就没法配合 wsl2,文件放 windows 文件系统下,terminal 下打个 git 命令卡半天 贼难受
    rainfd
        27
    rainfd  
       2021-04-16 16:02:36 +08:00
    什么时候解决网络问题就继续用了,现在多了台空闲的笔记本,比虚拟机爽多了
    wangkun025
        28
    wangkun025  
       2021-04-16 16:02:57 +08:00
    我用了一段时间也退了。
    主要是觉得 WSL2 和 Windows 都不爽。
    Stevenv
        29
    Stevenv  
       2021-04-16 16:04:55 +08:00
    @lwldcr #26 是的。要放弃 ide 。所以搞开发还是选择 Linux 得了。。不需要把时间浪费在环境上
    leewi9coder
        30
    leewi9coder  
       2021-04-16 16:05:06 +08:00 via iPhone
    wsl2 现在完美支持 cuda 了吗,如果不行那还是 vagrant 好用
    BeautifulSoap
        31
    BeautifulSoap  
       2021-04-16 16:09:53 +08:00   ❤️ 1
    @lwldcr
    @Stevenv
    其实并不需要放弃 IDE,可以在 wsl2 里配置所有开发环境然后安装 idea 之类的,然后通过 xserver 将图形界面输出到宿主

    ms 的官方教程 URL ( base64,似乎触发了 V2EX 的防广告。。。):aHR0cHM6Ly90ZWNoY29tbXVuaXR5Lm1pY3Jvc29mdC5jb20vdDUvd2luZG93cy1kZXYtYXBwY29uc3VsdC9ydW5uaW5nLXdzbC1ndWktYXBwcy1vbi13aW5kb3dzLTEwL2JhLXAvMTQ5MzI0Mg==

    我现在就是把 IDEA 装在 wsl2 里,使用起来没问题,而且这样之后迁移开发环境是真的轻松简单,直接把 wsl2 的 vhdx 文件拷到新电脑上就行,所有工具、ssh 、之类原样保留
    podel
        32
    podel  
       2021-04-16 16:14:24 +08:00
    wsl2 的磁盘 io 性能不行。编译速度 我这个 8 核 16 线程的 PC wsl 打不过 6 核 12 线程的 minipc
    chenqh
        33
    chenqh  
       2021-04-16 16:14:59 +08:00
    vagrant 打法好,vagrant+vscode 一条龙无敌
    ruanimal
        34
    ruanimal  
       2021-04-16 16:15:04 +08:00
    @kickcellardoor 怎么多加 nic ?
    alexkkaa
        35
    alexkkaa  
       2021-04-16 16:24:29 +08:00
    轻度使用勉强凑合, 稍微有点个性需求就啦跨
    ysn2233
        36
    ysn2233  
       2021-04-16 16:26:06 +08:00
    @Stevenv 可以 ide 装在 wsl2 里,再装个 xfce,用 xserver 转发,延迟为 0
    huai
        37
    huai  
       2021-04-16 16:35:28 +08:00 via iPhone
    @fengxianqi 你有遇到 wsl2 然后保存不能自动刷新浏览器的问题吗?我又滚回 1 安装 ubuntu 了
    fengxianqi
        38
    fengxianqi  
       2021-04-16 16:43:45 +08:00
    @huai #37 抱歉没有遇到,公司主力机是 mac 了,我只是家里的 win 刚装上,平时不常用
    huai
        39
    huai  
       2021-04-16 16:44:51 +08:00 via iPhone
    @fengxianqi 额 好吧。我去翻过 issue 好像也不是全面都有
    pydiff
        40
    pydiff  
       2021-04-16 16:46:07 +08:00
    一直用 hyper-v,没发现 wsl 有多好
    ch2
        41
    ch2  
       2021-04-16 17:51:00 +08:00
    @LokiSharp #25 开发机管那么多干啥,不会有人用 WSL2 部署吧
    Chingim
        42
    Chingim  
       2021-04-16 17:54:15 +08:00
    建议安利前先说说自己用了多久
    lwldcr
        43
    lwldcr  
       2021-04-16 17:54:23 +08:00
    @BeautifulSoap 这个方案我还没试过,目前用的是 win+linux vm,开发 ide 都放在 vm 里,等换电脑可以试试你这个方案
    356693212
        44
    356693212  
       2021-04-16 18:29:29 +08:00
    说实话 1 更好用
    JeromeCui
        45
    JeromeCui  
       2021-04-16 18:35:37 +08:00
    同意 1 更好用,用了一个月 wsl 2,最后滚回到 1 用了一年多了
    kennylam777
        46
    kennylam777  
       2021-04-16 18:36:06 +08:00
    自從轉成了 microservices 架構, 在 docker 及 docker-compose 上有基本的 service-discovery 後, 暫時不太需要固定 IP, 如果有需求再想多加一層 bridge 吧
    Leviathann
        47
    Leviathann  
       2021-04-16 18:51:32 +08:00 via iPhone
    @BeautifulSoap 哇 无缝迁移完整的开发环境,这个听起来很诱人
    Xusually
        48
    Xusually  
       2021-04-16 18:54:18 +08:00
    为了避免不必要的各种问题,hyper-v 虚拟机的 UEFI Secure Boot 关了,直接用虚拟个发行版就行了,什么乱七八糟的事儿都没有了。
    chihiro2014
        49
    chihiro2014  
       2021-04-16 18:55:57 +08:00
    除了不能固定 ip 以外,其他很完美
    tachikomachann
        50
    tachikomachann  
       2021-04-16 19:24:08 +08:00 via Android
    啥时候解决掉访问宿主机文件慢的问题就好了。
    lysS
        51
    lysS  
       2021-04-16 19:36:16 +08:00
    唯一缺点是不能固定 IP
    MeteorCat
        52
    MeteorCat  
       2021-04-16 19:51:43 +08:00 via Android
    我也感觉 1 更好用
    kennylam777
        53
    kennylam777  
       2021-04-16 19:52:15 +08:00
    @JeromeCui 我是 WSL2 跟 1 共存的, Default 選 WSL2 因為 docker, 但需要用真正的 Windows network namespace 就用 WSL2

    方法很簡單, 裝兩個 Ubuntu 版本, WSL2 選一個不常用的版本配 docker, WSL1 選新的
    kennylam777
        54
    kennylam777  
       2021-04-16 19:53:07 +08:00
    修正: 但需要用真正的 Windows network namespace 就用 WSL1

    直接用 Windows 上的 IP 超級香
    oneisall8955
        55
    oneisall8955  
       2021-04-16 20:01:33 +08:00 via Android   ❤️ 1
    曾经也折腾过 wsl,后来发现 vagrant 开机自启动,ssh 上去更方便,更像一个独立主机,最后了解我只需要 Linux 环境,跑一些不耗 CPU 内存的脚本和服务,买了 50 块的玩客云刷 armbian 放在公司,简简单单
    JeromeCui
        56
    JeromeCui  
       2021-04-16 20:19:15 +08:00
    @kennylam777 从来不在本地跑 docker,直接推到服务器跑
    kennylam777
        57
    kennylam777  
       2021-04-16 20:24:15 +08:00
    @JeromeCui 那只能祝你調試好運了
    Osk
        58
    Osk  
       2021-04-16 21:44:34 +08:00
    还是习惯虚拟机, WSL2 的优点不能完胜它带来的问题.

    我个人更喜欢 WSL 1
    Zien
        59
    Zien  
       2021-04-16 21:46:49 +08:00
    各有所长, 之前和虚拟机不兼容真的选择困难, 现在好了, 想用啥用啥.
    TyteKa
        60
    TyteKa  
       2021-04-17 02:05:20 +08:00
    没有 ipv6
    chesham
        61
    chesham  
       2021-04-17 10:52:44 +08:00
    不能用串口, 不能用 msgbox
    tesorouo
        62
    tesorouo  
       2021-04-17 11:22:46 +08:00
    @podel 文件丢 WSL 原生系统(~下,不通过 /mnt/c )会好很多
    acoder2013
        63
    acoder2013  
       2021-04-17 12:16:55 +08:00
    从 mac 切换到了 windows, wsl2 用了一年,idea 跑在 wsl 原生目录下(/home/xxx), 通过 mobaxterm 连接 gui,唯一的问题是输入法比较蛋疼,要折腾下, 其他的都比较顺畅
    weiasd
        64
    weiasd  
       2021-04-17 15:39:15 +08:00
    @chesham 可以用串口,minicom 可以用,我 wls2 里面串口连板子是可以的
    podel
        65
    podel  
       2021-04-17 19:00:19 +08:00
    @tesorouo 我就是说的原生系统的 IO 性能。要差很多。
    datou
        66
    datou  
       2021-04-17 19:00:37 +08:00
    wsl2 最大的问题就是没有 ipv6 呀
    Rache1
        67
    Rache1  
       2021-04-18 17:56:19 +08:00
    @Stevenv Jetbrains 家的 IDE 也是可以访问 WSL 里面的内容的,不过你要把你现有的拷贝到 WSL 里面去,在打开的时候就可以选择打开 WSL 里面的项目。感觉 WSL 这种很别扭
    Stevenv
        68
    Stevenv  
       2021-04-18 18:06:29 +08:00 via iPhone
    @faqqcn 太折腾了。我都试过,体验不太顺畅。最后直接 linux,烦恼去无踪。顺便感谢下 deepin 解决了工作社交软件问题
    ijrou
        69
    ijrou  
       2021-04-18 23:00:40 +08:00
    但是内存占用太多了。。。
    fansfans
        70
    fansfans  
       2021-04-19 10:38:53 +08:00
    @Zien wsl2 和 vm 兼容了吗 之前看虽然可以同时开启 但是会导致 vm 特别慢 不得不放弃。
    Zien
        71
    Zien  
       2021-04-19 10:44:28 +08:00 via iPhone
    @fansfans 刚开始确实很慢,现在恢复正常了
    interim
        72
    interim  
       2021-04-19 13:34:34 +08:00
    @wolfie WSL2 跟原生 Ubuntu 差距不算大
    lytlyt
        73
    lytlyt  
       2021-04-19 15:10:15 +08:00
    但是 IO 很慢,慢到不可以承受到地步
    yEhwG10ZJa83067x
        74
    yEhwG10ZJa83067x  
       2021-04-29 10:05:26 +08:00
    vagrant 好用
    smallthing
        75
    smallthing  
       2021-04-30 18:06:47 +08:00
    @Stevenv 下半年你可以直接在 wsl2 里面启动一个 linux 版的 idea 了.丝滑
    Stevenv
        76
    Stevenv  
       2021-05-01 17:47:56 +08:00 via iPhone
    @smallthing wslg 嘛,我知道。不折腾了
    smallthing
        77
    smallthing  
       2021-05-02 03:06:23 +08:00
    @Stevenv 没啥折腾的 都在用了
    975779964
        78
    975779964  
       2021-09-24 16:16:21 +08:00
    @BeautifulSoap 哇,我弄成功了 !谢谢 大佬
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2737 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:27 · PVG 20:27 · LAX 05:27 · JFK 08:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.