VSCode和WSL权限问题(code:command not found)

9
我对WSL很陌生,在Windows10上使用安装程序本地安装了VS Code。当我尝试在WSL中运行VS Code命令code时,我收到以下消息:

bash: /mnt/c/Users/user/AppData/Local/Programs/Microsoft VS Code/bin/code: Permission denied

此外,当我尝试运行针对WSL的VS Code服务器时,我也收到类似的消息。
[2020-06-29 17:41:41.640] Launching C:\windows\System32\wsl.exe -d Ubuntu sh -c '"$VSCODE_WSL_EXT_LOCATION/scripts/wslServer.sh" cd9ea6488829f560dc949a8b2fb789f3cdc05f5d stable .vscode-server 0  ' in c:\Users\user\.vscode\extensions\ms-vscode-remote.remote-wsl-0.44.4}
[2020-06-29 17:41:41.779] sh: 1: /mnt/c/Users/user/.vscode/extensions/ms-vscode-remote.remote-wsl-0.44.4/scripts/wslServer.sh: Permission denied
[2020-06-29 17:41:41.780] VS Code Server for WSL closed unexpectedly.

我尝试配置wsl @ wsl.conf的权限:

[automount]
enabled = true
options = "uid=1000,gid=1000,umask=022,fmask=11,metadata"

不确定这是否相关,但我能够从Windows Powershell中运行code

我目前使用的是带有WSL v1Microsoft Windows 1909 (OS Build 18363.836)

任何帮助将不胜感激,提前致谢!

8个回答

8

5
谢谢你的回答,不幸的是,这对我没有起作用。 - Francisco d'Anconia

5

之前的回答对我来说都不管用。在经过许多尝试和错误后,我发现 code.exe 的设置是以管理员身份运行的。这就防止它在 WSL 中运行。找到 VC Code 可执行文件,并确保其图标上没有管理员的 盾牌


1
我的问题和解决方案! - Anders Brohäll

2

1
我在我的 WSL 安装中没有这个文件。 - paradox

2
删除文件夹~/.vscode-server后,命令code .又可以正常工作了。
$ sudo rm -R ~/.vscode-server

0

也许对某些人有帮助... 例如,我遇到了这样的错误:

$ code . /c/Users/admin/AppData/Local/Programs/Microsoft VS Code/bin/code: line 61: /c/Users/admin/AppData/Local/Programs/Microsoft VS Code/Code.exe: Permission denied

我的错误解决方法是右键单击 VS Code 图标,选择设置,然后选择“兼容性”选项卡,最后禁用“以管理员身份运行程序”。


0

我通过将我的Ubuntu用户加入www-data组来解决了这个问题。我编辑了/etc/group文件。那个www-data组是我配置中属于Apache2的组。希望这可以帮到你。


0
也许您的文件/目录没有正确的权限。运行以下命令:
sudo chmod 666 -R ./

这个命令将允许其他用户(非root用户)对文件进行读写操作。-R 是递归选项,它会修改目录中所有文件和文件夹的权限。你可以运行 ls -l 命令来查看当前的权限以及运行该命令后的权限变化。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接