XServer:如何检查谁/什么使用 display:N

XServer:如何检查谁/什么使用 display:N

我有一个奇怪的情况。这些是我的命令及其输出:

user@machine:~/Temp$ Xvfb :10 -screen 0 1024x768x16
_XSERVTransSocketINETCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE) 
Fatal server error:
(EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE) 

user@machine:~/Temp$ Xvfb :11 -screen 0 1024x768x16
_XSERVTransSocketINETCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE) 
Fatal server error:
(EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE) 

user@machine:~/Temp$ Xvfb :12 -screen 0 1024x768x16
started...

如您所见,didisplay:10 和 display:11 不是免费的。但是,/tmp 中没有文件 .x10-lock 和 .x11-lock。另外,/tmp/.X11-unix 中没有 =x10 和 =x11 文件。

我怎样才能知道为什么显示器 10 和 11 不可用?

答案1

您可以通过以下方式了解

lsof -i TCP:6010

作为 root,这将显示使用 X11 显示的任何 TCP 侦听器:10;将 6010 更改为 6011 以显示:11,依此类推;或使用一个范围,例如TCP:6000-6020.

您可以类似地检查文件套接字侦听器,如果这对您来说也是一个问题(您只收到上面的 INET 侦听器的错误,所以还没有)。例如,如果您使用 运行 Xorg -nolisten tcp,您将在 的结果中看到它lsof /tmp/.X11-unix/*

您可以将两者结合起来:

lsof -iTCP:6000-6020 /tmp/.X11-unix/*

相关内容