You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过.deb包原生安装的VS Code无法启动,提示Permission denied权限问题求助

通过.deb包原生安装的VS Code无法启动,提示Permission denied权限问题求助

嘿,我看你这个双系统下的VS Code权限问题挺明确的——从journalctl日志能看出来是AppArmor限制了用户命名空间(userns)的创建,导致沙箱启动失败,所以才会弹出Permission denied的错误。sudo没用是因为沙箱机制本来就需要以普通用户权限运行,用sudo反而会破坏沙箱的权限隔离逻辑。

给你几个针对性的解决方案,你可以挨个试试:

1. 临时/永久开启非特权用户命名空间支持

Ubuntu 24.04默认可能限制了普通用户创建用户命名空间,这是VS Code沙箱正常运行的必要条件:

  • 先临时测试:在终端执行 sudo sysctl -w kernel.unprivileged_userns_clone=1,然后直接启动VS Code,如果能正常打开,说明就是这个限制的问题。
  • 永久生效的话:新建并编辑配置文件 sudo nano /etc/sysctl.d/00-local-userns.conf,添加一行 kernel.unprivileged_userns_clone=1,保存退出后执行 sudo sysctl --system 让配置生效,重启系统后就不用每次手动设置了。

2. 检查并调整AppArmor配置

日志里明确提到AppArmor="DENIED"了userns_create操作,可能是VS Code的AppArmor规则太严格:

  • 先查看当前的AppArmor状态里有没有VS Code相关的profile:sudo aa-status | grep code
  • 如果找到对应的profile,先临时禁用测试:sudo aa-disable /etc/apparmor.d/<找到的code profile文件名>(比如可能是usr.bin.code),禁用后重启VS Code试试。
  • 如果禁用后正常,你可以尝试修改这个profile的规则,添加允许userns_create的权限,或者等待微软更新对应的AppArmor规则。

3. 修复VS Code安装目录和用户配置的权限

有时候安装过程中权限错乱也会导致这类问题:

  • 检查系统级的VS Code安装目录权限:ls -ld /usr/share/code,正常应该是所有者root,权限755。如果不对,执行 sudo chown -R root:root /usr/share/code && sudo chmod -R 755 /usr/share/code 修复。
  • 检查用户目录下的VS Code配置文件夹:ls -ld ~/.config/Code,正常应该是你的普通用户作为所有者,权限755。如果不对,执行 chown -R $USER:$USER ~/.config/Code && chmod -R 755 ~/.config/Code 修复。

4. 彻底卸载后重新安装VS Code

如果上面的方法都没用,可能是安装过程中文件损坏或者配置错乱,试试彻底重装:

  • 先完全卸载现有VS Code:
    sudo apt purge code
    rm -rf ~/.config/Code ~/.vscode
    
  • 然后按照官方标准步骤重新安装:
    wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
    sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/packages.microsoft.gpg
    echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list > /dev/null
    sudo apt update && sudo apt install code
    
  • 安装完成后直接启动VS Code试试。

另外提醒一下,你说的--no-sandbox确实非常不安全,沙箱是VS Code用来隔离自身进程和系统核心资源的重要机制,禁用后一旦VS Code被恶意代码攻击,攻击者可以直接获取你的系统权限,所以尽量不要依赖这个方法。

备注:内容来源于stack exchange,提问作者sikvoyø

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 13:08:10