首页 > 解决方案 > XQuartz $DISPLAY 问题,无法在本地打开 xclock,无法 ssh -X

问题描述

我正在尝试解决一系列级联错误,这些错误始于我无法从远程 ssh 复制到我的 macOS 剪贴板,并导致我意识到我的 X11 情况严重混乱。我已经阅读了其他一些 stackoverflow 线程,但它们并没有解决我的特定问题。

首先我的设置是 macOS Mojave 10.14.5。我从网站上安装了xquartz 2.7.11 。当我在echo $DISPLAY本地(在 macOS 上)运行时,我得到/private/tmp/com.apple.launchd.waagOnO6Qm/org.macosforge.xquartz:0.

由于我不知道错误实际上在哪里,我将列出我目前可以识别的两个问题。

两个问题:

  1. 如果我在xclock本地运行,我的终端内不会发生任何事情。我确实注意到 XQuartz 停靠图标下出现一个“活动”点一秒钟然后消失。但是在这种情况发生之后,我的终端仍然只是挂起,xclock好像它正在运行一样。
  2. 如果我尝试ssh -X remote进入远程机器,我的终端将被锁定。我不能键盘中断。我运行它-vvv以尝试调试,我看到它挂起xauth
debug2: client_x11_get_proto: /opt/X11/bin/xauth -f /var/folders/jw/ltyk9x9n0_xb61jhdnct27fr0000gn/T//ssh-vcqwT7qh5yk2/xauthfile generate /private/tmp/com.apple.launchd.waagOnO6Qm/org.macosforge.xquartz:0 MIT-MAGIC-COOKIE-1 untrusted timeout 1260 2>/dev/null

尝试解决

  1. 其他相关的堆栈线程建议重新安装我已经完成的 XQuartz,无论是手动还是使用 Homebrew。我已注销并重新安装。
  2. 该线程xauth建议我通过删除.XAuthority文件并重新创建它来解决我的问题。然而,当我
xauth generate :0 . trusted 

我会XQuartz弹出一个窗口,说XQuartz quit unexpectedly如果有帮助,我可以提供报告。然后在终端中它说 xauth: (argv):1: unable to open display ":0".我也不确定这是问题所在,因为我的.XAuthority文件已经包含一个看起来像这样试图产生的条目: $HOST/unix:0 MIT-MAGIC-COOKIE-1 db7738324ca3662767b20b97b4a68680 虽然它是关于运行xauth导致我xquartz反复意外退出(这个对话框框出现多次)。

这对调试来说非常令人沮丧,因为我不确定问题出在哪里,xauth或者xquartz即使它是新安装的。此外,我发现现有的 StackOverflow 线程仅详细说明了问题,ssh -X但显然我在本地遇到了问题,因为我什至无法运行xclock.

任何帮助是极大的赞赏。

标签: macossshx11xauthxquartz

解决方案


快速出现和消失的点表示服务器进程正在终止。这意味着要么服务器崩溃,管理客户端(例如~/.xinitrc)终止,要么我们甚至无法启动xinit。

我所见过的几乎所有这种情况都是由于有人在他们的初始化脚本中做错了什么(例如:~/.bash*、~/.profile、~/.xinitrc)。

删除这些并重试,然后一分为二以找出根本问题。

但是,您的“ssh”案例中的崩溃对话框表明它可能是服务器崩溃了。您需要查看崩溃日志以获取更多信息(如果您需要帮助,请在此处提供)。


推荐阅读