我有一个带有 Jenkins 的远程构建机器,我正在尝试运行 GUI 应用程序。在 Jenkins 中,我安装了 Xvnc 插件,它使用 TightVNC Server,但每次构建都失败了。早些时候,加载驱动程序 swrast(通过 libGL)时出现问题,当前日志中有以下几行:
Xlib: extension "RANDR" missing on display ":51".
(...)
Xlib: extension "GLX" missing on display ":51".
Terminating xvnc.
$ vncserver -kill :51
Killing Xtightvnc process ID 22513
当我更改系统以使用 Xvnc4server 而不是ightvncserver 时,输出为:
[Warning] QXcbConnection: Failed to initialize XRandr
[Warning] Qt: XKEYBOARD extension not present on the X server.
(...)
[Warning] Unrecognized OpenGL version
[Warning] Unrecognized OpenGL version
Terminating xvnc.
$ vncserver -kill :47
Killing Xvnc4 process ID 26522
远程桌面是在 VirtualBox 上运行的 Ubuntu 14.04,所以我安装了 VBoxAddons 但它没有解决问题。下面我贴了一些日志,也许对你有帮助。
$ cat /var/log/Xorg.0.log | grep GL -is
[266219.686] (II) LoadModule: "glx"
[266219.686] (II) Loading /usr/lib/x86_64-linux-gnu/xorg/extra-modules/modules/extensions/libglx.so
[266219.687] (II) Module glx: vendor="Advanced Micro Devices, Inc."
[266219.687] Loading extension GLX
[266219.687] (==) Assigned the driver to the xf86ConfigLayout
$ lsmod | grep box
vboxsf 43786 0
vboxpci 23194 0
vboxnetadp 25670 0
vboxnetflt 27613 0
vboxdrv 339502 3 vboxnetadp,vboxnetflt,vboxpci
vboxvideo 12658 0
vboxguest 248441 8 vboxsf
drm 302817 1 vboxvideo
$ lspci | grep VGA
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
$ glxinfo
Error: unable to open display
有什么想法我应该做什么吗?