X11 不转发所有内容

X11 不转发所有内容

我知道这个问题有很多变化,但我找不到针对这种情况的解决方案。

设置:本地计算机、远程计算机(在同一本地网络上)。在本地计算机(Ubuntu 20.04)上,我有以下几行~/.ssh/config

Host remote
    User username
    HostName remote.local
    Port 223
    ForwardX11 yes
    ForwardX11Trusted yes

在远程计算机(Ubuntu 22.04)上,我有以下几行/etc/ssh/sshd_config

Port 223
X11Forwarding yes
X11DisplayOffset 10

(当然,端口并不重要)。我通过连接ssh remote,并且没有任何问题。该DISPLAY变量被设置(良好)为localhost:11.0(也许有时设置为localhost:10.0)。当我运行xclock或 时xlogo,我看到它很好。工作完美。

但问题是:每当我运行几乎所有其他 GUI 应用程序时,它都不起作用。有时,错误会被打印出来,有时,它们会静静地失败。例子:

  1. 跑步eog picture.png悄然失败。我没有看到任何消息,也没有看到图片。
  2. 运行时evince,我看不到 PDF,并且看到重复的错误消息:gdk_monitor_get_scale_factor: assertion 'GDK_IS_MONITOR (monitor)' failedgnome-calculator失败并出现类似错误。
  3. 运行firefox失败(我看不到浏览器,即使该进程之前不存在),并且我看到重复的错误消息:X11 connection rejected because of wrong authentication.
  4. 断开连接并重新连接后第二次运行firefox,错误消息已更改:Error: cannot open display: localhost:11.0

此时,我有点失落。

我还以详细模式进行连接,以寻找有趣的问题。我发现的唯一可能相关的行是

debug1: Remote: /home/username/.ssh/authorized_keys:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
debug1: Remote: /home/username/.ssh/authorized_keys:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
debug2: channel_input_open_confirmation: channel 0: callback start
debug2: x11_get_proto: /usr/bin/xauth  list :0 2>/dev/null
debug1: Requesting X11 forwarding with authentication spoofing.
debug2: channel 0: request x11-req confirm 1

看起来不错,不是吗?

我的用例实际上非常简单:我需要从内部sage(或Python)远程绘制图表并在本地查看它们。我过去能够使用不同的计算机实现这一目标,但那是不久前的事了。我的解决方法是保存绘图并在本地打开它们(通过sshfs),这有点愚蠢。

答案1

问题是您正在远程运行 Wayland 并且应用程序默认如此。

开始会话后,您可以执行以下操作:

$ export GDK_BACKEND=x11

正常的(deb 安装的)应用程序将被转发。因此您将能够使用eogandevince例如。

Firefox 很可能是您配置中的小菜一碟。快照的问题已经存在很长时间了。这是 snap bug 跟踪器中的一个这样的错误:“由于身份验证错误,X11 连接被拒绝。”通过 ssh 使用 snap 时。最后一条评论指出该错误已被分类并且有解决方法,但是解决方法不再工作(导出 XAUTHORITY 或将 .Xauthority 链接到快照可以看到它的位置)。

Firefox 的两种替代方案:

  • 您可以使用 X11 启动 gdm 会话(注销,登录时,当您必须输入密码时,将会有一个齿轮提供会话类型)。
  • 从 firefox.com 下载适合您平台的 firefox 二进制文件并运行它而不是 snap。由于它不再是一个快照,它应该像evince和 一样工作eog。当有新版本时它还会提示您下载并自行更新。

相关内容