Xvfb -screen --> 无法建立任何侦听套接字 - 确保 X 服务器尚未运行

Xvfb -screen --> 无法建立任何侦听套接字 - 确保 X 服务器尚未运行

我想知道,为什么这不起作用?

$ screen
$ Xvfb -screen :1 1024x768x16 &
[1] 17540
$ _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) 

然后Ctrl+C或者之后+D我运行这个:

$ ps -C Xorg
  PID TTY          TIME CMD

事实上,X 服务器没有运行。那为什么会出错呢?

$ uname -a
Linux ip-123456-generic #102-Ubuntu SMP Tue Aug 11 14:29:36 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

更新:

在此输入图像描述

答案1

确保在启动 Xvfb 之前删除以下文件,如“:1”屏幕所示:

rm /tmp/.X11-unix/X1
rm /tmp/.X1

如果 Xvfb 无法创建这些“锁定”文件,则简单地认为 Xorg 服务器正在运行。这可能是因为另一个用户(例如 root)在同一屏幕上创建了它们,而您以无权删除“锁定”文件的用户身份启动 Xvfb。换句话说,Xvfb 尝试删除并创建“锁定”文件,如果失败,则会显示您遇到的错误。

答案2

你可能想运行:

Xvfb :1 -screen 0 1024x768x16 &

其中:1是一个单独的参数,表示使用默认网络连接 +1,即您需要export DISPLAY=:1 在环境中连接到此显示器。此外,X11 服务器可能会以名称X而不是Xorg.

相关内容