这类问题很常见,但我只能找到处理远程计算机和 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.0
DISPLAY 值和之间存在差异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 或任何图形使用终端,但上面的解决方案就足够了