有趣,在WSL2上运行VSCode

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

步骤

更新wsl2

> wsl --update

进入ubuntu,检查snap

$ snap version
snap                         2.58+20.04
snapd                        unavailable
series                       16
Windows Subsystem for Linux  -
kernel                       5.15.79.1-microsoft-standard-WSL2 (amd64)

通过snap安装vscode

$ sudo snap install --classic code
error: 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.service
System 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 queued
Failed: 2 units
    Since: Tue 2023-02-21 10:56:11 CST; 1min 17s ago
CGroup: /
        ├─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 ago
TriggeredBy: ● snapd.socket
Main 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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值