V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lwldcr
V2EX  ›  程序员

wslg 简单用用感觉还不错

  •  
  •   lwldcr · 2021-05-07 17:31:59 +08:00 · 7199 次点击
    这是一个创建于 1307 天前的主题,其中的信息可能已经有所发展或是发生改变。

    就跑个 jb 的 ide, 终端直接用 windows terminal,似乎现在用 windows 开发对我来说没有什么障碍了

    天天被大家 m1 真香洗脑,早上照例上 apple 官网蹲 m1,看到更新了好多 m1 官翻库存,一激动都下单了

    后来网上冲浪看到 wslg 的消息,立马把 insider preview 改成 dev 通道升级系统,升级 wsl 一气呵成

    进 ubuntu 安装了 jb 的 ide 试了试,操作比 win 本地稍差一点,可能我电脑配置还不错所以并不会觉得卡。

    重点是再也不用忍受一个 git 命令读盘半天的蛋疼体验了,感觉一下子就解决了一机开发+办公+游戏的需求,完全不需要什么 vmware 、mac 、docker 啥的,全部都放在 wsl 里。

    这样既有了贴合生产环境的开发环境,还能有接近 windows native 90%的 IDE 使用体验以及极大提升的命令行工具,还买啥 m1,立马取消订单了(省的钱准备拿去买排骨吃 /狗头

    第 1 条附言  ·  2021-05-08 10:29:15 +08:00
    补充一下,wslg 的应用内是支持中文字符的,可以自己安装一个文泉驿微米黑即可正常显示中文,但是 wslg 窗口的标题栏目前不支持中文显示,参考 https://github.com/microsoft/wslg/issues/5
    第 2 条附言  ·  2021-05-10 09:43:00 +08:00
    再补充一下,WSLg 目前还是很早期的版本,很多地方不可配置、支持不完善、体验不好,比如有老哥们提到的字体自定义、窗口缩放等问题,大家酌情体验不要盲目冲从而影响生产环境了。

    我自己是因为本身有虚拟机,只是想试试 WSLg 是不是更好用,试了感觉还不错就继续用了。
    61 条回复    2021-05-17 22:08:34 +08:00
    nguoidiqua
        1
    nguoidiqua  
       2021-05-07 17:42:11 +08:00
    个人还是倾向虚拟机,一个电脑两种系统分别管理,隔离娱乐和劳动。
    paccco
        2
    paccco  
       2021-05-07 17:44:08 +08:00
    @nguoidiqua 这样的话还是倾向于多台电脑
    thedrwu
        3
    thedrwu  
       2021-05-07 17:47:53 +08:00 via Android
    > 操作比 win 本地稍差一点

    具体来说呢?
    lwldcr
        4
    lwldcr  
    OP
       2021-05-07 18:37:14 +08:00
    @thedrwu 不知道你用过 linux 的桌面没有,就是操作 IDE 有一种 linux 使用桌面应用的那种卡卡的感觉,很轻微,比 linux 桌面的卡顿感要轻很多
    lwldcr
        5
    lwldcr  
    OP
       2021-05-07 18:37:42 +08:00
    @nguoidiqua wsl2 就是虚拟机 文件单独存储的
    bfdh
        6
    bfdh  
       2021-05-07 18:43:50 +08:00
    wsl 离 linux 环境还是有不少差距,上次想在 wsl 下编 openwrt,失败了,于是直接放弃。
    thedrwu
        7
    thedrwu  
       2021-05-07 18:51:20 +08:00 via Android
    @lwldcr #4
    是 latency ? 还是慢?弄个 typometer 测一下嘿嘿
    Leviathann
        8
    Leviathann  
       2021-05-07 19:10:00 +08:00 via iPhone
    这样的话换电脑是不是直接把 wsl2 的镜像复制过去就能完整迁移开发环境了
    acrisliu
        9
    acrisliu  
       2021-05-07 19:14:36 +08:00 via iPhone
    使用过,经常遇到 gui 打不开的情况,放弃了
    BeautifulSoap
        10
    BeautifulSoap  
       2021-05-07 20:17:56 +08:00 via Android
    输入法可以用吗?现在我开发类似 lz,不过是基于 xserver 将 gui 传出来,使用没有任何问题,唯一难受的就是输入法,必须得在 wsl 里装输入法。不过这不是 wsl 的问题也没办法
    AEDaydreamer
        11
    AEDaydreamer  
       2021-05-07 20:25:15 +08:00
    @Leviathann 可以的,直接用命令把相应的 wsl 实例导出成镜像就好了
    Hurriance
        12
    Hurriance  
       2021-05-07 20:27:42 +08:00 via iPhone
    m1 翻新早上几点蹲得到哇
    BeautifulSoap
        13
    BeautifulSoap  
       2021-05-07 20:51:07 +08:00   ❤️ 1
    @AEDaydreamer
    用 wsl2 的话别用命令行的导出,本质就是把整个镜像打包成压缩包,镜像大的时候导到你怀疑人生,直接注册表编辑器定位到下面的路径:

    计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss

    里面会有各发行版的信息,找到对应发行版的 BasePath 这一项,就是对应的 vhdx 镜像位置。直接复制到新电脑然后修改下新电脑的发行版路径就行了
    BeautifulSoap
        14
    BeautifulSoap  
       2021-05-07 20:53:02 +08:00
    上面这方法还能用来将 wsl 的镜像从 C 盘移出到其他盘。wsl2 用久了镜像上几十 G 也是正常的,对于不想占据过多 C 盘的人来说这是个非常简单的方法
    ahcheqiu
        15
    ahcheqiu  
       2021-05-07 21:39:51 +08:00
    直接用 WSL2 效果应该也一样呀,jb 家的 ide 应该已经全部支持直接打开 wsl 下面的项目了,至少我已经测试过 IDEA,PHPStorm,WebStorm 了
    lwldcr
        16
    lwldcr  
    OP
       2021-05-07 21:44:26 +08:00 via Android
    @ahcheqiu 不一样,win 里的 ide 访问 wsl 里的文件很慢,反之代码放在 win 本地,从 wsl 访问也很慢。
    ahcheqiu
        17
    ahcheqiu  
       2021-05-07 21:53:31 +08:00
    @lwldcr 我目前没有这种感觉,我用的是 WSL2,看微软自己的介绍也是 WSL2 比 WSL 快了很多。
    Increased file IO performance
    File intensive operations like git clone, npm install, apt update, apt upgrade, and more are all noticeably faster with WSL 2.

    The actual speed increase will depend on which app you're running and how it is interacting with the file system. Initial versions of WSL 2 run up to 20x faster compared to WSL 1 when unpacking a zipped tarball, and around 2-5x faster when using git clone, npm install and cmake on various projects.
    cev2
        18
    cev2  
       2021-05-07 21:57:46 +08:00
    @bfdh 6# 我一直在 WSL 1 下编译 openwrt 最新版,一点问题都没有。。就是需要全程科学,网不好的话,很多文件下载失败。
    lwldcr
        19
    lwldcr  
    OP
       2021-05-07 22:23:45 +08:00 via iPhone
    @ahcheqiu 如果我没理解错误的话,这说的都是 within wsl2 的 performance 提升,从 win 本身访问就很慢。

    我用 ide 打开 wsl 里的项目,明显感觉慢,而且 ide 也会提示文件系统同步很慢之类的
    lwldcr
        20
    lwldcr  
    OP
       2021-05-07 22:25:33 +08:00 via iPhone
    @lwldcr 当然也可能是因为 jetbrains 的 ide 对 wsl 支持做的不够好,我知道微软自己的 vscode wsl 支持就很好,但是我基本不用 vscode,用惯了 ide
    Osk
        21
    Osk  
       2021-05-07 22:50:41 +08:00
    WSL 不管 1 还是 2 都可以安装到 非 C 盘的:

    从这里下载 appx , 解压 (其实就是 zip) 到希望安装的盘.
    httpx://docs.microsoft.com/en-us/windows/wsl/install-manual

    然后执行对应的 exe (比如 ubuntu.exe) 完成安装即可.

    wsl 1 会将文件解压到当前目录, wsl 2 会把 vhdx 放在当前目录. 解救 C 盘空间.

    注意: 好像只能 NTFS, FAT 系不用说, ReFS 都不支持是我没想明白的...
    BeautifulSoap
        22
    BeautifulSoap  
       2021-05-07 23:01:59 +08:00 via Android
    @ahcheqiu wsl2 和 Windows 互相文件交互性能非常差的。差到我都懒得考虑两者交互,把所有开发环境包括 ide 都装 wsl2 中了(wsl2 内部 io 性能很好),不过拜此所赐倒也有了非常多优点
    Osk
        23
    Osk  
       2021-05-07 23:05:26 +08:00
    不知道有人比较过 WSL 2 使用的 9p 和 Hyper-V 10G 虚拟网卡连接 SMB 谁更快?

    反正我在 Linux (host 和 guest 都是 linux) 里面用 9p 的体验极为糟糕, 还不如使用 smb...
    ikas
        24
    ikas  
       2021-05-08 00:03:28 +08:00
    很多人说 io 问题,难道不知道现在可以 mount 本地硬盘了吗,我安卓编译直接 mount 本地,没慢多少
    learningman
        25
    learningman  
       2021-05-08 00:41:09 +08:00 via Android
    @ikas 可以,但是现在的实现本质是走网络
    lwldcr
        26
    lwldcr  
    OP
       2021-05-08 09:29:58 +08:00   ❤️ 1
    @Hurriance 我就昨天上午 10 点多随便上去翻了翻 看到有很多 m1 的 air/pro/mini
    ikas
        27
    ikas  
       2021-05-08 09:39:14 +08:00
    @learningman mount 本地的 ext4 分区,不是走网络的
    hwdef
        28
    hwdef  
       2021-05-08 09:48:46 +08:00
    1. 没有中文字体,goland 如果改成中文,都是方块
    2. 没找到怎么更改键位,例如 dvorak
    3. 渲染的还是有点问题,,,有点丑。。


    总结:预览版里的还是像半成品,,不知道正式版如何
    hwdef
        29
    hwdef  
       2021-05-08 09:51:47 +08:00
    wsl 的磁盘 io,,分为 wsl 内 io 和 wsl 与主机间 io

    wsl wsl2
    wsl 内 io ×

    与主机 io
    hwdef
        30
    hwdef  
       2021-05-08 09:52:36 +08:00
    wsl 的磁盘 io,,分为 wsl 内 io 和 wsl 与主机间 io


    wsl 内 io wsl2 > wsl1

    与主机 io wsl1 > wsl2
    hwdef
        31
    hwdef  
       2021-05-08 09:53:28 +08:00
    "重点是再也不用忍受一个 git 命令读盘半天的蛋疼体验了"

    如果在 wsl2 里面用 git 还会读盘半天吗?是不是用了 ohmyzsh,建议用 zinit
    LosLord
        32
    LosLord  
       2021-05-08 10:00:55 +08:00
    有人说 IO 问题,大多数开发者要这么高的跨平台 IO 做什么
    learningman
        33
    learningman  
       2021-05-08 10:04:07 +08:00   ❤️ 1
    @LosLord #32 你是不是忘了 node_modules 。。。
    lwldcr
        34
    lwldcr  
    OP
       2021-05-08 10:05:37 +08:00
    @hwdef
    1. 中文字体,命令行安装一个 wenquanyi 就行了:
    ```bash
    sudo apt install fonts-wqy-microhei
    ```
    [![g8B3Uf.png]( https://z3.ax1x.com/2021/05/08/g8B3Uf.png)]( https://imgtu.com/i/g8B3Uf)

    2. 我只用 terminal+ide,你说的这个没用过,ide 可以自己改 keymap

    3. 渲染问题确实有进步空间,特别是窗口标题栏有点丑,而且中文标题栏会乱码还没找到在哪改


    ps. 在 wsl 里面使用 git 当然不会,我说慢是因为以前使用要么是从 wsl 访问 /mnt,要么是从 windows 的 ide 访问 wsl,都很慢;现在直接改成 wsl 的 ide 当然快多了
    lwldcr
        35
    lwldcr  
    OP
       2021-05-08 10:07:23 +08:00
    LosLord
        36
    LosLord  
       2021-05-08 10:07:37 +08:00
    @learningman #33 楼主都用 wslg 了,为什么大家还要执着放在 windows 下,Linux 下不好吗?
    Dragonphy
        37
    Dragonphy  
       2021-05-08 10:09:23 +08:00
    为什么我装的 wslg 字体显示很拉跨啊,装好 webstorm 我又给卸了,字体太糊了
    no1xsyzy
        38
    no1xsyzy  
       2021-05-08 10:22:38 +08:00
    @lwldcr #16 WSL2 与 Windows 间是 9p ( mount | grep /mnt ),即 Plan 9 文件系统
    据说是一个抽象层次互操作性级高,但效率极低的,跨操作系统的实验室文件系统
    lwldcr
        39
    lwldcr  
    OP
       2021-05-08 10:26:27 +08:00
    @Dragonphy IDE 里可以调字体的啊,我是放在 4k 屏上用的,字体调的很大( 24 、26 号),不然默认 13 、14 号字会看着很小很小
    @LosLord 对 现在就是开发的东西全放在 wsl,但是在 windows 桌面上操作

    @no1xsyzy 跨文件系统都不行,太慢了,vmware 、virtualbox 、wsl 都半斤八两,只有都放同一个文件系统里才比较舒服
    x1aoYao
        40
    x1aoYao  
       2021-05-08 10:37:39 +08:00
    因为有调试 Linux 程序的需求(LLDB 命令行嫌麻烦),所以我也非常期待 WSLg,只是目前担心 insider preview 系统不稳定
    目前在用 Hyper-V + xrdp + vGPU(可惜已经停止支持了, 又没条件上 DDA)
    所以我想问下 WSLg 支持 GPU 渲染吗?
    lwldcr
        41
    lwldcr  
    OP
       2021-05-08 10:50:09 +08:00
    @x1aoYao 看官方的描述应该是支持的,需要安装内测版 gpu 驱动,我点过去下载提示我需要注册账号懒得弄就没安装

    ```
    It recommended to run WSLg on a system with virtual GPU (vGPU) enabled for WSL so you can benefit from hardware accelerated OpenGL rendering. You can find preview driver supporting WSL from each of our partners below.

    AMD GPU driver for WSL

    Intel GPU driver for WSL

    NVIDIA GPU driver for WSL
    ```
    ahcheqiu
        42
    ahcheqiu  
       2021-05-08 12:19:21 +08:00 via iPhone
    @lwldcr 是这样的,但是只要你把所有文件都放 wsl 里面,然后 Windows 里面 ide 直接用 wsl://的方式去打开项目,应该就不会出现跨系统的问题了
    lwldcr
        43
    lwldcr  
    OP
       2021-05-08 12:55:33 +08:00
    darknoll
        44
    darknoll  
       2021-05-08 13:42:21 +08:00
    windows terminal 有没有啥快捷打开的方法啊,WIN+R 输个命令打开最好
    hwdef
        45
    hwdef  
       2021-05-08 13:46:40 +08:00
    @x1aoYao 支持,演示视频里有 Gazebo 3D 60 帧运行。
    hwdef
        46
    hwdef  
       2021-05-08 13:47:39 +08:00
    @lwldcr 可以用 vscode,,然后 remote-wsl,,文件和 git 都在 wsl 里,ide 在 windows
    lwldcr
        47
    lwldcr  
    OP
       2021-05-08 13:53:26 +08:00
    @darknoll WIN+R 输入 wt 就可以了
    @hwdef 20l 说了 用不惯 vscode
    inhzus
        48
    inhzus  
       2021-05-08 14:28:21 +08:00
    昨天晚上看到这个帖子回家也升级 insider program dev 试了下, 随便打开了一个软件( google chrome beta )确实是肉眼可见地不太流畅
    yEhwG10ZJa83067x
        49
    yEhwG10ZJa83067x  
       2021-05-08 14:40:55 +08:00
    vagrant 不是很简单吗,ide 装 win 下,代码挂在虚拟机共享文件下,本地开发效率杠杠的
    standin000
        50
    standin000  
       2021-05-08 14:49:35 +08:00
    wslg 解决了 SYSV IPC support 和 ntfs 分区性能问题么?
    ysn2233
        51
    ysn2233  
       2021-05-08 15:20:22 +08:00
    我现在用 vcxsrv 体验也不错,就是输入中文不方便,wslg 有好的中文输入方案吗
    keppelfei
        52
    keppelfei  
       2021-05-08 15:26:52 +08:00
    看的好纠结,为什么不整个双系统?不得不承认,linux 开发 ide 非常流畅
    LokiSharp
        53
    LokiSharp  
       2021-05-08 15:27:09 +08:00
    @lwldcr Linux 桌面卡的是没装显卡驱动吧。。。
    edk24
        54
    edk24  
       2021-05-08 15:37:10 +08:00
    我觉得还是双系统好一点, 工作娱乐隔离。更纯粹一点, 这样看起来跟 linux 使用 wine 应用,vbox 无缝模式一样, 怪怪的

    看样子字体渲染还是有点扯, 我看见字体发虚都没心情编程了
    monetto
        55
    monetto  
       2021-05-08 15:42:13 +08:00
    上网查了一大圈,都是打开 Linux GUI 应用的,就没看见有人试过 Gnome Desktop 的。
    (就当 Win10 桌面用够了,换换心情 逃
    SenLief
        56
    SenLief  
       2021-05-08 15:49:04 +08:00
    @darknoll 右键最快了吧。
    kiracyan
        57
    kiracyan  
       2021-05-08 16:12:21 +08:00
    @darknoll win+s wt
    xiaokongwu
        58
    xiaokongwu  
       2021-05-09 14:58:26 +08:00
    4k 分辨率有点问题,怎么缩放有方案吗?
    hwdef
        59
    hwdef  
       2021-05-09 19:38:37 +08:00
    @lwldcr

    升级到预览版之后,windows 有什么 bug 吗
    lwldcr
        60
    lwldcr  
    OP
       2021-05-10 09:39:59 +08:00
    @xiaokongwu 我也是 4k,没找到缩放配置的地方,我是单纯的把字体调大到 20+号

    @hwdef 暂时没感觉,我用的软件不多,就 im 、笔记、浏览器这些,没遇到 bug
    yanyanlongxia
        61
    yanyanlongxia  
       2021-05-17 22:08:34 +08:00
    希望支持中文标题……(静等)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2725 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:28 · PVG 23:28 · LAX 07:28 · JFK 10:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.