程序员使用 wsl 2 有啥最佳实践么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jedeft
V2EX    问与答

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

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

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

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

    Windows 有个 WSL 图形配置工具(虽然写配置文件也可以达到相同效果),可以选择网络模式是 NAT 还是 mirror ,可以按需选择,可以在 windows 端口暴露 linux 服务对有些需求有奇效
    ashong
        10
    ashong  
       357 天前 via iPhone
    感觉 wsl 1 比较方便
    blahblahblah
        11
    blahblahblah  
       357 天前
    为啥我用 wsl2 ubuntu 运行渲染的程序,CTRL+C 退出的时候,有时候直接虚拟机挂掉了
    eleba
        12
    eleba  
       357 天前
    编 android 源码
    PhosphorLin
        13
    PhosphorLin  
       357 天前
    就是 linux 虚拟机
    jenson47
        14
    jenson47  
       357 天前   1
    在 wsl 命令行里 可以调用 window 应用,比如你装了 vscode 的话, `code` , 之前直接通过 phpstorm 打开 wsl 里的项目,
    由于路径写法不一样,可以写个 alias ,然后直接调用
    jedeft
        15
    jedeft  
    OP
       357 天前
    安装开发环境,比如装个 mysql 或者 python ,装 ubuntu 里还是装在 windows 里?
    装 docker 呢?
    chensuixiang
        16
    chensuixiang  
       357 天前
    上回试过把一台笔记本的 wsl2 上的 ubuntu 导出后重新导入到另一台电脑上的 wsl2 中,结果跑不起来,遇到一些问题搞了半天没解决。如果这个可行,那以后真的就是迁移 wsl2 就行,贼舒服。
    kokutou
        17
    kokutou  
       357 天前
    docker
    msys2
    wsl
    maoxianCk
        18
    maoxianCk  
       357 天前
    @jedeft docker desketop 默认推荐 wsl2
    lizy0329
        19
    lizy0329  
       357 天前
    用啥 wsl2 啊,占用资源极大,买个云服务器不更好?
    rayaa
        20
    rayaa  
       357 天前
    Win11 + WSL2 ,感觉挺好的
    strconv
        21
    strconv  
       357 天前
    macos 转 windows ,离不开命令行,用 wsl 当开发环境,windows 环境打游戏休闲
    volvo007
        22
    volvo007  
       354 天前 via iPhone
    @jedeft 哪边需要装那边,都需要就都装
    Yition
        23
    Yition  
       317 天前   1
    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     Solana     1019 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 22:51 PVG 06:51 LAX 15:51 JFK 18:51
    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