host
:Ubuntu 64-bit
local
:macOS 10.13 64-bit
我正在尝试通过 在远程 Linux 计算机上运行程序ssh
,并且我希望 GUI 显示在我的本地 macOS 笔记本电脑上。
当我执行ssh -v -X user@host
or时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
问题是 ssh 寻找
xauth
错误的路径 - 在 Ubuntu 上是,/usr/bin/xauth
但在 macOS 上是/opt/X11/bin
。这可以通过编辑本地 ssh 配置文件来解决。 (~/.ssh/config
, 添加XAuthLocation /opt/X11/bin/xauth
)XQuartz 好像有问题。我知道一种“解决方案”是将 XQuartz 降级到版本 2.7.8。