如何使用 SSH 从远程 Linux 启用本地 macOS 上的图形?

如何使用 SSH 从远程 Linux 启用本地 macOS 上的图形?

host:Ubuntu 64-bit

local:macOS 10.13 64-bit

我正在尝试通过 在远程 Linux 计算机上运行程序ssh,并且我希望 GUI 显示在我的本地 macOS 笔记本电脑上。

当我执行ssh -v -X user@hostor时ssh -v -Y user@host,我收到两条可能值得注意的消息:

使用 -X 标志:

debug1: No xauth program.
Warning: Untrusted X11 forwarding setup failed: xauth key data not generated

使用 -Y 标志:

debug1: No xauth program.
Warning: No xauth data; using fake authentication data for X11 forwarding

当我登录host并执行时which xauth,我得到输出:/usr/bin/xauth,这让我感到困惑,因为ssh它表明没有xauth程序。

此外,当我最终在ssh我的 Mac 上运行该程序时(只是命令行版本,没有图形),我收到以下错误:

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  149 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  23
  Current serial number in output stream:  26

如何解决此问题,以便能够从 Linux 主机在本地 Mac 上运行图形?

编辑:当我which xquartz在本地 Mac 上输入时:/opt/X11/bin/xquartz

答案1

  1. 问题是 ssh 寻找xauth错误的路径 - 在 Ubuntu 上是,/usr/bin/xauth但在 macOS 上是/opt/X11/bin。这可以通过编辑本地 ssh 配置文件来解决。 (~/.ssh/config, 添加XAuthLocation /opt/X11/bin/xauth

  2. XQuartz 好像有问题。我知道一种“解决方案”是将 XQuartz 降级到版本 2.7.8。

相关内容