使用 sudo 时 X11 连接因身份验证错误而被拒绝

Col*_*inB 2 ssh xorg sudo x11-forwarding

我有一个无头服务器和一个桌面客户端,都运行 XUbuntu 20.04。

我使用“ssh -X servername”登录到服务器

图形应用程序作为普通用户在服务器上运行良好,并显示在台式机上。

但是,当我“sudo graphics-app”(例如“eog”或“update-manager”)时,出现以下错误:

    X11 connection rejected because of wrong authentication.
    Unable to init server: Could not connect: Connection refused
Run Code Online (Sandbox Code Playgroud)

同样,'sudo emacs' 响应:[sudo] cmb 的密码:

    X11 connection rejected because of wrong authentication.
    Display localhost:10.0 unavailable, simulating -nw
Run Code Online (Sandbox Code Playgroud)

(并回退到在终端中运行 emacs)。

在早期版本的 XUbuntu(从 12.04 到 18.04 / 18.10 / 19.04)上,我能够通过“sudo”在服务器上运行图形应用程序,并且它们在客户端上正确显示。有什么变了!关于什么以及如何解决它的任何想法?

Col*_*inB 5

在这里找到答案:https : //www.slothparadise.com/sudo-root-x11-connection-rejected-wrong-authentication/

无论出于何种原因,Xauthority 都没有被 sudo 忽略。但是......sudo xauth merge ~/.Xauthority然后sudo graphical-app工作正常。

我认为这与 ssh 无关,仅与 Xauth 和 sudo 相关。