Fedora 25 上的本地终端(不是 SSH)中“显示 localhost:0 不可用”和“xhost: 无法打开显示 'localhost:0'”

Fedora 25 上的本地终端(不是 SSH)中“显示 localhost:0 不可用”和“xhost: 无法打开显示 'localhost:0'”

这类问题很常见,但我只能找到处理远程计算机和 chroot 的答案。我在 Fedora 25 上自己的终端中收到此错误,而不是在通过 SSH 连接到远程服务器时收到此错误。

emacs当我尝试从 Fedora 25 上的终端模拟器运行时,出现了问题。我收到了以下消息:

Display localhost:0.0 unavailable, simulating -nw


$ echo $DISPLAY

回报

localhost:0.0


$ xhost +localhost

$ xhost +

都返回

xhost:  unable to open display "localhost:0.0"


$ xinit

回报

Fatal server error:
(EE) Server is already active for display 0
    If this server is no longer running, remove /tmp/.X0-lock
    and start again.
(EE) 
XIO:  fatal IO error 11 (Resource temporarily unavailable) on X server ":0"
      after 7 requests (7 known processed) with 0 events remaining.


ps aux | grep `cat /tmp/.X0-lock`

回报

ryan      1764  3.6  3.2 2150384 260912 tty2   Sl+  18:04   2:15 /usr/bin/gnome-shell
ryan     11671  0.0  0.0 119372   960 pts/0    S+   19:05   0:00 grep --color=auto 1764

更新: - 我没有通过 chroot 或 SSH 连接到远程系统。 - 我没有使用wayfair。 - 我在 Fedora 25 中使用终端和终结器。 - 的输出echo $XAUTHORITY and xauth list "$@" | awk '{print $1, "", $2}'/home/ryan/.Xauthority and

你能帮我解决并理解这个问题吗?

答案1

:0.0DISPLAY 值和之间存在差异localhost:0.0

:0.0(或只是)意味着:0“使用最有效的方式连接到本地 X 显示器 #0”。这可能意味着初始连接使用 UNIX 套接字,然后(可选)协商基于共享内存的连接以获得更高的性能。

localhost:0.0值的意思是“连接到本地 X 显示 #0使用 TCP 套接字端口 6000”(端口号 = 显示号 + 6000)。由于本世纪发布的大多数 Linux 发行版中的默认 X 服务器配置都禁用了 TCP 连接,因此如果不首先专门启用对 X 服务器的 TCP 访问,这不太可能起作用。

除非您处于安全网络中并且知道自己在做什么,您不应启用对 X 服务器的 TCP 访问。在正确配置的现代系统中,应该没有任何理由这样做。

启动 X11 会话的正常方法通常会自动为您设置 DISPLAY 环境变量。如果您认为需要继续将其设置为常规操作(.bashrc或类似操作),那么您可能正在以非最佳方式执行某些操作。

答案2

对我来说这有效

export DISPLAY=':0'

例如我无法打开 gedit 或 evince 或任何图形使用终端,但上面的解决方案就足够了

相关内容