Ubuntu20.04通过xrdp连接后root运行IntelliJ IDEA等软件报错求助
解决xrdp会话中root用户无法运行图形程序的问题
问题根源
X11窗口系统默认限制不同用户间的显示会话访问权限。你通过xrdp以普通用户登录后,当前DISPLAY会话归属于该普通用户,root用户无权限直接连接这个X服务器,因此运行图形程序时会触发连接报错。
解决方案
方案1:临时授权(单次生效)
在普通用户终端执行以下命令,允许root访问当前X会话:
xhost +si:localuser:root
之后即可正常用sudo运行图形程序,例如:
sudo idea.sh sudo nautilus
若需取消授权,执行:
xhost -si:localuser:root
方案2:永久配置(长期生效)
编辑普通用户的
~/.bashrc文件,传递当前DISPLAY值:nano ~/.bashrc在文件末尾添加:
export USER_DISPLAY=$DISPLAY保存退出后,执行
source ~/.bashrc使配置生效。编辑root用户的
/root/.bashrc文件:sudo nano /root/.bashrc在文件末尾添加:
export DISPLAY=$USER_DISPLAY xhost +si:localuser:root > /dev/null 2>&1保存退出后,执行
sudo source /root/.bashrc使配置生效。
注意事项
除非确有必要,否则不建议用root运行图形程序——这会带来潜在安全风险,可能误操作系统文件或引入恶意程序。
内容的提问来源于stack exchange,提问作者Seyed Hossein Mirheydari
相关产品推荐
相关产品推荐

