写点什么

有趣,在 WSL2 上运行 VSCode

作者:DisonTangor
  • 2023-02-21
    上海
  • 本文字数:1447 字

    阅读完需:约 5 分钟

我之前写过一篇《通过 WSL2 运行 GUI 程序》的 Blog,感兴趣的朋友可以关注我的主页。今天我试了一下用在 WSL2 中安装 VSCode,挺麻烦的就想着留个笔记。

步骤

更新 wsl2


> wsl --update
复制代码


进入 ubuntu,检查 snap


$ snap versionsnap                         2.58+20.04snapd                        unavailableseries                       16Windows Subsystem for Linux  -kernel                       5.15.79.1-microsoft-standard-WSL2 (amd64)
复制代码


通过 snap 安装 vscode


$ sudo snap install --classic codeerror: cannot communicate with server: Post http://localhost/v2/snaps/code: dial unix /run/snapd.socket: connect: no such file or directory
复制代码


此时,依旧存在报错,据网上资料,win10 的 WSL2 才会有,而 Win11 的 WSL2 是正常的


$ systemctl status snapd.serviceSystem has not been booted with systemd as init system (PID 1). Can't operate.Failed to connect to bus: Host is down
复制代码


可以看出 systemd 没有通过 sudo vi /etc/wsl.conf 添加


[boot]systemd=true
复制代码


退出 wsl,重启 wsl


> wsl --shutdown> bash
复制代码


检查 systemd 是否启动了


$ sudo systemctl status[sudo] password for ubuntu:● MSI    State: degraded    Jobs: 0 queuedFailed: 2 units    Since: Tue 2023-02-21 10:56:11 CST; 1min 17s agoCGroup: /        ├─user.slice        │ └─user-1000.slice        │   ├─user@1000.service …        │   │ ├─pulseaudio.service        │   │ │ └─1457 /usr/bin/pulseaudio --daemonize=no --log-target=journal        │   │ ├─init.scope        │   │ │ ├─1450 /lib/systemd/systemd --user        │   │ │ └─1451 (sd-pam)        │   │ └─dbus.service        │   │   └─1481 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation ->        │   └─session-c3.scope        │     ├─1317 /bin/login -f        │     └─1458 -bash        ├─init.scope        │ └─1 /sbin/init        └─system.slice            ├─systemd-networkd.service            │ └─88 /lib/systemd/systemd-networkd            ├─systemd-udevd.service            │ └─77 /lib/systemd/systemd-udevd            ├─cron.service            │ └─405 /usr/sbin/cron -f            ├─polkit.service            │ └─279 /usr/lib/policykit-1/polkitd --no-debug            ├─networkd-dispatcher.service
复制代码


检查 snapd 是否正常


$ sudo systemctl status snapd.service● snapd.service - Snap Daemon    Loaded: loaded (/lib/systemd/system/snapd.service; enabled; vendor preset: enabled)    Active: active (running) since Tue 2023-02-21 10:56:20 CST; 1min 23s agoTriggeredBy: ● snapd.socketMain PID: 1244 (snapd)    Tasks: 29 (limit: 19054)    Memory: 37.8M    CGroup: /system.slice/snapd.service            └─1244 /usr/lib/snapd/snapd...
复制代码


安装 vscode


$ sudo snap install code --classic
复制代码


安装完成后,可能会出现 code 触发的是 windows 本机的 code


$ which -a code # 查看code全部所属/mnt/c/Users/[User Name]/AppData/Local/Programs/Microsoft VS Code/bin/code/snap/bin/code
复制代码


调用/snap/bin/code就可以正常调用 wsl2 中的 code

发布于: 刚刚阅读数: 3
用户头像

DisonTangor

关注

怀揣一个武侠梦的男孩 2020-07-29 加入

还未添加个人简介

评论

发布
暂无评论
有趣,在WSL2上运行VSCode_vscode_DisonTangor_InfoQ写作社区