RHEL 6 Fix xrdp ERROR another Xserver is already active on display 10

Friday, June 28, 2013

If you have installed xrdp-0.5.0-0.13.el6.x86_64.rpm from EPEL6 you have probably noticed it does not work out of the box.

When trying to connect from an RDP client, the following errors are thrown:

connecting to sesman ip 127.0.0.1 port 3350
sesman connect ok
sending login info to session manager, please wait...
xrdp_mm_process_login_reponse: login successful for display
started connecting
connecting to 127.0.0.1 5910
error - problem connecting

If you also look at /var/log/xrdp-sesman.log, the following errors are thrown:

[INFO ] scp thread on sck 7 started successfully
[INFO ] ++ created session (access granted): username root, ip 192.168.0.227:59050 - socket: 7
[INFO ] starting Xvnc session...
[ERROR] X server for display 10 startup timeout
[INFO ] starting xrdp-sessvc - xpid=3531 - wmpid=3530
[ERROR] X server for display 10 startup timeout
[ERROR] another Xserver is already active on display 10
[DEBUG] aborting connection...[20130627-08:55:49]
[INFO ] ++ terminated session:  username root, display :10.0, session_pid 3529, ip 192.168.0.227:59050 - socket: 7

Googling for ERROR another Xserver is already active on display 10 returns a lot of different “fixes”. One of the fixes suggests installing GNOME packages, but this is a shotgun approach, and a specific package which may have fixed the problem is not specificed. I installed the packages and package groups mentioned, as well as other relevant packages and package groups, but I had no luck.

Many other fixes suggest applying a fix here or there to the source code and recompiling, which I did not really want to do. xrdp from EPEL5 works without issue after installation, and if you compare the xrdp source RPMs from EPEL5 and EPEL6, they are virtually identical apart from some pam.d changes. So, the issue must be external.

xrdp relies on tigervnc-server and will install it as a dependency if it is not already installed. xrdp does not require the vncserver service to be running, xrdp will create VNC sessions on the fly, so I decided to try and start vncserver on its own. I ran vncserver -geometry 1024x768 :10 and the following output was displayed:

WARNING: The first attempt to start Xvnc failed, possibly because the font
catalog is not properly configured.  Attempting to determine an appropriate
font path for this system and restart Xvnc using that font path ...
Could not start Xvnc.

Xvnc TigerVNC 1.1.0 - built Apr 25 2013 11:09:00
Copyright (C) 1999-2011 TigerVNC Team and many others (see README.txt)
See http://www.tigervnc.org for information on TigerVNC.
Underlying X server release 11300000, The X.Org Foundation

Initializing built-in extension Generic Event Extension
Initializing built-in extension SHAPE
Initializing built-in extension MIT-SHM
Initializing built-in extension XInputExtension
Initializing built-in extension XTEST
Initializing built-in extension BIG-REQUESTS
Initializing built-in extension SYNC
Initializing built-in extension XKEYBOARD
Initializing built-in extension XC-MISC
Initializing built-in extension XFIXES
Initializing built-in extension RENDER
Initializing built-in extension RANDR
Initializing built-in extension DAMAGE
Initializing built-in extension MIT-SCREEN-SAVER
Initializing built-in extension DOUBLE-BUFFER
Initializing built-in extension RECORD
Initializing built-in extension DPMS
Initializing built-in extension X-Resource
Initializing built-in extension XVideo
Initializing built-in extension XVideo-MotionCompensation
Initializing built-in extension VNC
Initializing built-in extension GLX

Thu Jun 27 09:41:02 2013
 vncext:      VNC extension running!
 vncext:      Listening for VNC connections on all interface(s), port 5910
 vncext:      created VNC server for screen 0
[dix] Could not init font path element catalogue:/etc/X11/fontpath.d, removing from list!
[dix] Could not init font path element built-ins, removing from list!

Fatal server error:
could not open default font 'fixed'

Xvnc TigerVNC 1.1.0 - built Apr 25 2013 11:09:00
Copyright (C) 1999-2011 TigerVNC Team and many others (see README.txt)
See http://www.tigervnc.org for information on TigerVNC.
Underlying X server release 11300000, The X.Org Foundation

Initializing built-in extension Generic Event Extension
Initializing built-in extension SHAPE
Initializing built-in extension MIT-SHM
Initializing built-in extension XInputExtension
Initializing built-in extension XTEST
Initializing built-in extension BIG-REQUESTS
Initializing built-in extension SYNC
Initializing built-in extension XKEYBOARD
Initializing built-in extension XC-MISC
Initializing built-in extension XFIXES
Initializing built-in extension RENDER
Initializing built-in extension RANDR
Initializing built-in extension DAMAGE
Initializing built-in extension MIT-SCREEN-SAVER
Initializing built-in extension DOUBLE-BUFFER
Initializing built-in extension RECORD
Initializing built-in extension DPMS
Initializing built-in extension X-Resource

Initializing built-in extension XVideo
Initializing built-in extension XVideo-MotionCompensation
Initializing built-in extension VNC
Initializing built-in extension GLX

Thu Jun 27 09:41:05 2013
 vncext:      VNC extension running!
 vncext:      Listening for VNC connections on all interface(s), port 5910
 vncext:      created VNC server for screen 0
[dix] Could not init font path element /usr/share/X11/fonts/misc, removing from list!
[dix] Could not init font path element /usr/share/X11/fonts/75dpi, removing from list!
[dix] Could not init font path element /usr/share/X11/fonts/100dpi, removing from list!
[dix] Could not init font path element /usr/share/X11/fonts/Type1, removing from list!
[dix] Could not init font path element /usr/share/fonts/default/Type1, removing from list!
[dix] Could not init font path element built-ins, removing from list!

Fatal server error:
could not open default font 'fixed'

Because of the font errors, vncserver did not start, and this is why xrdp is failing to connect. xrdp is not able to interpret this specific error and throws the generic ERROR another Xserver is already active on display 10 error in /var/log/xrdp-sesman.log. Googling for tigervnc-server fonts, I came across Bug 917717 - Tiger VNC server is broken in latest RHEL 6.4 which clearly shows there is a bug in tigervnc-server version 1.1.0-5.el6.x86_64 and newer.

Ultimately, downgrading to tigervnc-server-1.0.90-0.17.20110314svn4359.el6.x86_64 allowed the vncserver -geometry 1024x768 :10 command to work and xrdp began working properly.



comments powered by Disqus