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

RHEL 8下切换用户启动VS Code提示无法写入用户数据错误求助

解决RHEL 8中su切换用户后启动VS Code提示「无法写入程序用户数据」的问题

问题原因

使用su切换用户时,默认会保留原登录用户的环境变量(比如$HOME、$XDG_CONFIG_HOME)。VS Code启动时会依赖这些变量定位用户专属数据目录(如~/.config/Code、~/.vscode),此时切换后的用户没有权限写入原用户的这些目录,就会触发「无法写入程序用户数据」的错误。

解决方案

方案1:使用su -完全切换用户环境

这是最直接的解决方式,su -会加载目标用户的完整登录环境,重置所有相关环境变量:

su - target_user  # 替换target_user为你要切换的用户名
code

启动后VS Code会自动使用目标用户的专属数据目录,权限问题自然解决。

方案2:手动重置关键环境变量(无需完全切换环境)

如果需要保留部分原用户的环境变量,可手动重置VS Code依赖的路径变量后启动:

su target_user
# 重置为目标用户的路径
export HOME=/home/target_user
export XDG_CONFIG_HOME=$HOME/.config
export XDG_DATA_HOME=$HOME/.local/share
# 启动VS Code
code

方案3:检查系统级VS Code安装目录权限(可选)

若全系统安装的VS Code目录权限异常,也可能导致问题。先查看权限:

ls -ld /usr/share/code

正常权限应为drwxr-xr-x(所有用户可读可执行)。若权限不符,用以下命令修复:

sudo chmod -R 755 /usr/share/code

内容的提问来源于stack exchange,提问作者Justin Jones

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 17:29:56