X11 第一次尝试访问失败,但连续尝试后仍能正常工作

X11 第一次尝试访问失败,但连续尝试后仍能正常工作

我使用以下设置将X11输出从本地计算机转发到服务器。我将概述设置:

  1. X11服务器和客户端位于同一台本地计算机上。
  2. 服务器X11在我的本地计算机上运行A
  3. 客户端作为 docker 容器在我的本地计算机上运行,​​称为B.
  4. 我尝试将R客户端上的程序 () 的图形输出转发B到主机上的服务器A

以下是访问的工作原理:

  • 我的客户B具有对/tmp/.X11-unix.因此,它可以访问 unix 域套接字unix:0
  • B我通过xhost +si:localuser:$(USER)在主机上发出命令来允许客户端访问此套接字A。 (这是一个服务器解释的地址,授予单个本地用户访问权限。)

所有这些都按预期工作,但是每当我尝试访问套接字时,第一次尝试都不起作用,并且出现错误X11 protocol error: BadAccess (attempt to access private resource denied)。当我再次关闭X11图形设备并重新打开它时,一切正常。即使我使用依赖于ssh-based 的完全不同的设置,问题仍然存在X11-forwardingcairo如果我使用Xlib设备访问第一次尝试成功,我可以将问题追溯到设备。有谁有使用设备访问X11服务器的 unix 域套接字的程序的经验cairo,或者知道为什么会发生这种情况?

相关内容