【linux】解决 Linux 系统中 root 用户无法打开图形界面问题
【linux】解决 Linux 系统中 root 用户无法打开图形界面问题
问题描述:
在 Linux 系统中,当我们远程SSH尝试以 root 用户身份运行需要图形界面的应用程序时,可能会遇到以下错误信息:
MoTTY X11 proxy: Unsupported authorisation protocol
terminate called after throwing an instance of ‘framework::window::DisplayError’
what(): No display available.
Aborted (core dumped)
但是我们在普通用户以SSH却可以打开图形界面
解决方法
1、查看普通用户的DISPLAY值
在普通用户下查看DISPLAY值,输入
echo $DISPLAY
2、1设置root用户正确的DISPLAY变量
在root用户下执行
export DISPLAY=localhost:12.0
输出为 localhost:12.0,则说明设置成功。
3、复制 .Xauthority 文件
我们需要将普通用户的 .Xauthority 文件复制到 root 用户的家目录中。假设普通用户的用户名为 user,可以执行以下命令:
cp /home/user/.Xauthority /root/
然后,修改 .Xauthority 文件的权限,确保 root 用户可以访问该文件:
chmod 600 /root/.Xauthority
完成以上步骤后,再次尝试以 root 用户身份运行需要图形界面的应用程序。问题解决!