2.7 KiB
2.7 KiB
VS Code Remote Tunnel(WSL 侧)快速指南
面向场景:在 WSL 内开通 VS Code Tunnel,供 Mac/任意客户端通过 Remote - Tunnels 或 vscode.dev 访问。
前置条件
- WSL 已开启 systemd(
/etc/wsl.conf有[boot] systemd=true,然后wsl --shutdown重进)。 - 网络可直连或通过本机代理 127.0.0.1:9910(本指南示例端口)。
安装 VS Code CLI(WSL 内)
sudo apt-get update
sudo apt-get install -y wget gpg apt-transport-https
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/keyrings/packages.microsoft.gpg >/dev/null
echo "deb [arch=amd64,arm64 signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list
sudo apt-get update
sudo apt-get install -y code
which code # 应为 /usr/local/bin/code 或 /usr/bin/code
一次性登录
/usr/local/bin/code tunnel user login
# 浏览器打开提示的 device code 完成 GitHub 授权
配置代理(可选,示例 127.0.0.1:9910)
创建 drop-in:
mkdir -p ~/.config/systemd/user/code-tunnel.service.d
cat > ~/.config/systemd/user/code-tunnel.service.d/proxy.conf <<'EOF'
[Service]
Environment=HTTP_PROXY=http://127.0.0.1:9910
Environment=HTTPS_PROXY=http://127.0.0.1:9910
Environment=NO_PROXY=localhost,127.0.0.1,::1
EOF
systemctl --user daemon-reload
安装并开机自启隧道服务
/usr/local/bin/code tunnel service install --accept-server-license-terms --name wsl-lenovo
systemctl --user enable code-tunnel.service
systemctl --user restart code-tunnel.service
验证
/usr/local/bin/code tunnel status # tunnel: Connected 且 service_installed:true
systemctl --user status code-tunnel.service --no-pager
客户端连接
- VS Code 桌面:安装 “Remote - Tunnels”,用同一 GitHub 账号登录,Remote Explorer 选择
wsl-lenovo。 - 纯浏览器:访问
https://vscode.dev/tunnel/wsl-lenovo,同账号登录即可。
日志与维护
/usr/local/bin/code tunnel service log --log info # 查看服务日志
/usr/local/bin/code tunnel rename <new-name> # 重命名隧道
/usr/local/bin/code tunnel kill # 停止当前隧道进程
/usr/local/bin/code tunnel service uninstall # 移除自启服务
常见故障排查
- 仍显示 Disconnected:确认代理可用,
curl https://api.github.com能通;或暂时unset HTTP_PROXY HTTPS_PROXY再试。 - 路径错误 (
\\wsl.localhost\\...):不要在terminal.integrated.cwd写 UNC,删除该项或用 POSIX 路径。 - 未启用 systemd:检查
/etc/wsl.conf,修改后wsl --shutdown重新进入。