V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jedeft
V2EX  ›  问与答

程序员使用 wsl 2 有啥最佳实践么?

  •  
  •   jedeft · 61 天前 · 2132 次点击
    这是一个创建于 61 天前的主题,其中的信息可能已经有所发展或是发生改变。

    求大神们分享一下,wsl2 有啥好用的功能?

    23 条回复    2024-11-27 18:30:10 +08:00
    nagisaushio
        1
    nagisaushio  
       61 天前 via Android
    当成一台 linux 来用就好了,之前怎么用 linux ,现在就怎么样 wsl2
    FlytoSirius
        2
    FlytoSirius  
       61 天前
    我觉者是自己进行手动打包备份,需要是手动解包还原即可。
    vopsoft
        3
    vopsoft  
       61 天前 via Android
    觉得 wsl2 和虚拟机二选一,不如虚拟机 。因为不可控 迁移的通用性
    mooyo
        4
    mooyo  
       61 天前
    wsl2 配合 Windows terminal 好用。dynamic profile 自动加载到对应的环境里面
    silverzidan
        5
    silverzidan  
       61 天前 via iPhone
    可以共享显卡算不算
    chihiro2014
        6
    chihiro2014  
       61 天前
    没有,主要用 docker 的时候容易有问题,所以直接买了台服务器,放家里,随便玩
    Yadomin
        7
    Yadomin  
       61 天前 via Android
    文件系统可以共享
    wsl 可以直接 call windows 命令
    wslg 可以直接用 Linux GUI 程序
    显卡共享,如果要用 CUDA 之类的非常方便
    Tiande
        8
    Tiande  
       61 天前 via Android
    感觉不如 VMware
    hosiet
        9
    hosiet  
       61 天前 via Android
    wsl2 试试启用 systemd ,有利有弊

    Windows 有个 WSL 图形配置工具(虽然写配置文件也可以达到相同效果),可以选择网络模式是 NAT 还是 mirror ,可以按需选择,可以在 windows 端口暴露 linux 服务对有些需求有奇效
    ashong
        10
    ashong  
       61 天前 via iPhone
    感觉 wsl 1 比较方便
    blahblahblah
        11
    blahblahblah  
       61 天前
    为啥我用 wsl2 ubuntu 运行渲染的程序,CTRL+C 退出的时候,有时候直接虚拟机挂掉了
    eleba
        12
    eleba  
       61 天前
    编 android 源码
    PhosphorLin
        13
    PhosphorLin  
       61 天前
    就是 linux 虚拟机
    jenson47
        14
    jenson47  
       61 天前
    在 wsl 命令行里 可以调用 window 应用,比如你装了 vscode 的话, `code` , 之前直接通过 phpstorm 打开 wsl 里的项目,
    由于路径写法不一样,可以写个 alias ,然后直接调用
    jedeft
        15
    jedeft  
    OP
       61 天前
    安装开发环境,比如装个 mysql 或者 python ,装 ubuntu 里还是装在 windows 里?
    装 docker 呢?
    chensuixiang
        16
    chensuixiang  
       61 天前
    上回试过把一台笔记本的 wsl2 上的 ubuntu 导出后重新导入到另一台电脑上的 wsl2 中,结果跑不起来,遇到一些问题搞了半天没解决。如果这个可行,那以后真的就是迁移 wsl2 就行,贼舒服。
    kokutou
        17
    kokutou  
       61 天前
    docker
    msys2
    wsl
    maoxianCk
        18
    maoxianCk  
       61 天前
    @jedeft docker desketop 默认推荐 wsl2
    lizy0329
        19
    lizy0329  
       61 天前
    用啥 wsl2 啊,占用资源极大,买个云服务器不更好?
    rayaa
        20
    rayaa  
       61 天前
    Win11 + WSL2 ,感觉挺好的
    strconv
        21
    strconv  
       60 天前
    macos 转 windows ,离不开命令行,用 wsl 当开发环境,windows 环境打游戏休闲
    volvo007
        22
    volvo007  
       58 天前 via iPhone
    @jedeft 哪边需要装那边,都需要就都装
    Yition
        23
    Yition  
       21 天前
    wsl2 本质就是虚拟机,可以和宿主系统互操作( wsl 的命令行输出可以 pipeline 给 windows 的 powershell ,反正也可以。实际上我用的倒是不多)。
    用了 4 年多了,分享一些可能会遇到的问题吧。
    * 网络:默认网络模式是 NAT ,wsl2 的 IP 是动态分配的,没有 vpn 需求的话(不是 clash 这种,是企业用的那种,easy connect/Any connect/……)可以直接用 mirrored 网络模式,如果遇到问题或者公司需要用 vpn 的话可以用 https://github.com/sakai135/wsl-vpnkit/ 这个项目解决,虽然好久没更新了,不过目前配合 NAT 模式使用没问题。用 wsl-vpnkit 的话 wsl2 里需要使用 host.internal + 端口访问宿主机的服务,比如 clash
    * systemd:新版的直接默认支持了,wsl.conf 配一下就行。需要注意的是如果在 wsl2 里面安装了 docker 的话,docker 默认启动会影响 wsl2 开机(冷启动)速度,可以配置 docker.server 按需启动来解决,google 搜关键字 docker socket activation
    * docker:不依赖 docker desktop 那个图形界面的话直接在 wsl2 里面装就行
    * 文件 IO:很多人也说到了,这个没什么好办法,项目文件(也就是需要在 wsl2 访问的文件)放在 wsl2 里面,大文件跨 wsl 移动你甚至不如临时开个 ssh 传。
    * 开发环境:结合上面文件 IO 的问题,推荐 vscode + wsl 扩展,推荐配合 powertoys 使用,可以快速打开/切换 vscode 的项目。vim 党的话挑个顺手的终端就行。终端的话 windows terminal 大部分场景都够用了,如果你日常习惯使用 quake mode 的话可以试试 tabby ,体验比 wt 好一些。jetbrains 家的产品配合 wsl2 的整体体验不太好,没怎么用,不做评价。那个 fleet 我到现在就没能怎么成功用上过……
    以上,官方文档可以先看一下,https://learn.microsoft.com/en-us/windows/wsl/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3682 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 10:35 · PVG 18:35 · LAX 02:35 · JFK 05:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.