我有一台 Ubuntu 22.04.1 服务器,最初安装时没有图形环境。我添加了XFce4 和 Gnome通过 apt。xauth 已安装(并重新安装)。当我从 Ubuntu Live CD 和安装了 XQuartz 的 macOS ssh -X(或 -Y)进入它时(连接到 Ubuntu 22.04.1 桌面时,两个客户端都可以正常工作),我在运行 xterm 时收到以下常见错误:
Xt error: Can't open display:
xterm: DISPLAY is not set
我尝试了很多方法,我记不清了,但这里是 sshd_config 和我的一些尝试:
jackie@server:~$ grep -v ^# /etc/ssh/sshd_config|grep -v ^$
Include /etc/ssh/sshd_config.d/*.conf
KbdInteractiveAuthentication no
UsePAM yes
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost yes
PrintMotd no
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
PasswordAuthentication yes
我也尝试过“X11UseLocalhost no”,如X11 转发中断
我还连接了 ssh -Y 并运行以下命令:
> ~/.Xauthority #that's not a prompt. it combines rm and touch into one command
xauth generate :0 . trusted
xauth add ${HOST}:0 . $(xxd -l 16 -p /dev/urandom)
xauth list
返回以下内容:
Authorization required, but no authorization protocol specified
xauth: (argv):1: unable to open display ":0".
server/unix:0 MIT-MAGIC-COOKIE-1 39b005ef8b2b98461f80ebb165a36024
即使重新连接,也会出现通常的显示未设置错误
答案1
我放弃了,拿起霰弹枪,重新安装为 Ubuntu 桌面,因为它不是一个完整的生产盒。(我使用 netplan 服务器,无论如何我都可以编辑它以避免使用 NetworkManager,因此不值得继续进行故障排除。)