之前我们在VMware、Hyper-V上安装Linux操作系统,然后使用vscode远程连接它们进行开发。但是WSL给我们提供了另外一种方案——直接使用vscode连接WSL虚拟机。

root账户连接

连接的方法也很简单,我们在vscode界面使用Ctrl+P唤出命令界面,输入

> WSL

然后找到Connect to WSL using distro
在这里插入图片描述
选择此项可以列出一系列本机上的WSL虚拟机。
在这里插入图片描述
然后选择输入进入的虚拟机名称即可。
但是有个问题,这样我们将以root权限进入。
在这里插入图片描述

而现实工作中,我们可能希望以其他用户登录。比如我一般用fangliang这个用户名登录。
这个时候我们可以直接输入下面命令切换到fangliang。

su fangliang

然后输入下面命令进入用户自己目录。

cd ~

但是这操作太繁琐了。而且我们在vscode中新建终端时,又会默认进入root账户。

下面我们就要介绍如何在vscode中,默认使用非root账户登录。

非root账户登录

网上有一种说法,认为在/etc/wsl.conf的[user]下新增default=fangliang的形式来解决这个问题,但是亲测无效。
比较有效的方法是通过修改注册表实现。
首先我们在Linux实例中找到要登录的用户ID

 id -u fangliang

在这里插入图片描述
这儿返回的1002是10进制值。
然后Win键+R唤出Windows的“运行”界面,输入

regedit

在这里插入图片描述
在注册表编辑器中找到如下位置

\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss

这个注册表目录下有很多项,每一项对应一台WSL实例。
在这里插入图片描述
我们挨个点开项目,找到我们要连接的实例的对应项
在这里插入图片描述
双击DefaultUid
然后将10进制的值改成上面我们得到的fangliang这个用户的ID值
在这里插入图片描述
在这里插入图片描述

点击确定后,重启vscode或者Terminal(终端)这些连接WSL虚拟机的工具。
之后我们再进入这台虚拟机,就是以我们希望的用户名登录的了。

在这里插入图片描述

参考资料

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐