在 Ubuntu 17.10 中,当我使用 Wayland 登录并尝试使用 root 访问权限运行 GUI 应用程序时,系统显示
unable to copy the user's xauthorization file
我试过
sudo chown sharif:sharif ~/.Xauthority
但结果是
chown: cannot access '/home/sharif/.Xauthority': No such file or directory
但在 Xorg 中这些应用程序运行良好。
答案1
查看https://bugs.launchpad.net/ubuntu/+source/synaptic/+bug/1551951,并在评论#9中提供了解决方法。特别是:
pkexec 用于授予 root(即运行其参数的用户)访问真实用户 X 显示器的权限的方法在 Wayland 下不起作用,但仍在使用 X(即使用 Xwayland)。Xwayland(至少由 mutter/gnome-shell 启动)在启动时没有“-auth”选项,因此只向真实用户授予访问权限(采用 Wayland 的安全模型)。因此没有 Xauthority 文件来授予其他用户的访问权限。解决方法是使用以下方法明确允许 root 访问用户的 X 显示器
$ xhost +si:本地用户:root
我刚刚在安装的 Artful 上尝试了此操作,synaptic 终于成功运行。Gparted 遇到了一些困难,但在第二次尝试时也成功运行。
上述解决方案以会话为基础。该主题中的评论 #13 显示了如何让它在每次登录时都生效。
答案2
17.10 默认使用 wayland,而不是 x11;因此,没有 .xauthority 文件。
另外默认情况下,root 不允许访问您的终端;因此,无法运行 GUI 程序。