Install xrdp on CentOS 7 / RHEL 7

xrdp is an Open Source Remote desktop Protocol server, which allows you to RDP to your Linux server from Windows machine; it is capable of accepting connections from rdesktop, freerdp, and remote desktop clients.

This post will help you to setup xrdp server on CentOS 7 / RHEL 7.

Prerequisites

1. First, install Gnome GUI on CentOS 7 / RHEL 7

2. xrdp is available in EPEL repository, so Install and configure EPEL repository.

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Install xrdp on CentOS 7

Use YUM command to install xrdp package on CentOS 7 / RHEL 7.

yum -y install xrdp tigervnc-server

Output:

Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: centos.excellmedia.net
 * epel: del-mirrors.extreme-ix.org
 * extras: centos.excellmedia.net
 * updates: centos.excellmedia.net
Resolving Dependencies
--> Running transaction check
---> Package tigervnc-server.x86_64 0:1.8.0-2.el7_4 will be installed
---> Package xrdp.x86_64 1:0.9.5-1.el7 will be installed
--> Processing Dependency: xorgxrdp for package: 1:xrdp-0.9.5-1.el7.x86_64
--> Running transaction check
---> Package xorgxrdp.x86_64 0:0.2.5-3.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================================
 Package                    Arch              Version                   Repository          Size
=================================================================================================
Installing:
 tigervnc-server            x86_64            1.8.0-2.el7_4             updates            213 k
 xrdp                       x86_64            1:0.9.5-1.el7             epel               413 k
Installing for dependencies:
 xorgxrdp                   x86_64            0.2.5-3.el7               epel                61 k

Transaction Summary
=================================================================================================
Install  2 Packages (+1 Dependent package)

Total download size: 688 k
Installed size: 2.7 M
Downloading packages:
warning: /var/cache/yum/x86_64/7/epel/packages/xrdp-0.9.5-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Public key for xrdp-0.9.5-1.el7.x86_64.rpm is not installed
(1/3): xrdp-0.9.5-1.el7.x86_64.rpm                                        | 413 kB  00:00:01
(2/3): tigervnc-server-1.8.0-2.el7_4.x86_64.rpm                           | 213 kB  00:00:01
(3/3): xorgxrdp-0.2.5-3.el7.x86_64.rpm                                    |  61 kB  00:00:01
-------------------------------------------------------------------------------------------------
Total                                                            409 kB/s | 688 kB  00:00:01
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Importing GPG key 0x352C64E5:
 Userid     : "Fedora EPEL (7) <epel@fedoraproject.org>"
 Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5
 Package    : epel-release-7-11.noarch (installed)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
  Installing : xorgxrdp-0.2.5-3.el7.x86_64                                                   1/3
  Installing : 1:xrdp-0.9.5-1.el7.x86_64                                                     2/3
  Installing : tigervnc-server-1.8.0-2.el7_4.x86_64                                          3/3
  Verifying  : xorgxrdp-0.2.5-3.el7.x86_64                                                   1/3
  Verifying  : tigervnc-server-1.8.0-2.el7_4.x86_64                                          2/3
  Verifying  : 1:xrdp-0.9.5-1.el7.x86_64                                                     3/3

Installed:
  tigervnc-server.x86_64 0:1.8.0-2.el7_4                xrdp.x86_64 1:0.9.5-1.el7

Dependency Installed:
  xorgxrdp.x86_64 0:0.2.5-3.el7

Complete!
</epel@fedoraproject.org>

Once xrdp is installed, start the xrdp service using the following command.

systemctl start xrdp

xrdp should now be listening on 3389. You can confirm this by using netstat command.

netstat -antup | grep xrdp

Output:

tcp        0      0 0.0.0.0:3389            0.0.0.0:*               LISTEN      1508/xrdp
tcp        0      0 127.0.0.1:3350          0.0.0.0:*               LISTEN      1507/xrdp-sesman

READ: netstat command not found on CentOS 7 / RHEL 7 – Quick Fix

By default, xrdp service won’t start automatically after a system reboot. Run the following command in the terminal to enable the service at system startup.

systemctl enable xrdp

Firewall

Configure the firewall to allow RDP connection from external machines. The following command will add the exception for RDP port (3389).

firewall-cmd --permanent --add-port=3389/tcp
firewall-cmd --reload

SELinux

Configure SELinux

chcon --type=bin_t /usr/sbin/xrdp
chcon --type=bin_t /usr/sbin/xrdp-sesman

Test xrdp Remote Connectivity

Now take RDP from any windows machine using Remote Desktop Connection. Enter the ip address of Linux server in the computer field and then click on connect.

Install xrdp on CentOS 7 – Enter IP Address in Remote Desktop Connection Window

You may need to ignore the warning of RDP certificate name mismatch.

Install xrdp on CentOS 7 – Accept the Certificate

You would be asked to enter the username and password. You can either use root or any user that you have it on the system. Make sure you use module “Xvnc“.

Install xrdp on CentOS 7 – xrdp Login Page

If you click ok, you will see the processing. In less than a half minute, you will get a desktop.

Install xrdp on CentOS 7 – xrdp CentOS Desktop

That’s All. You have successfully configured xRDP on CentOS 7 / RHEL 7.

centos 7rdpremoterhel 7vncxrdp
Comments (88)
Add Comment
  • Johnny

    Hi

    Thanks and many thanks! That works perfectly, without problem. Very great, little slow to load, but all work. Just give me some error key on download, but all transaction install ok.

    Now, it’s just to install Firefox31, but don’t know if it’s better to use the tar method install or yum update…

  • APassi

    I tried all the steps, looked very good until the very end. I then got this error message
    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_response:login successful for display
    started connecting
    connecting to 127.0.0.1 5910
    error – problem connecting

    • Raj

      Dear APassi,

      Please install tigervnc-server package, have updated the same in article

      • Koster

        I have all packages installed as you mention, and I cannot seem to connect. Same error. Tigetvnc_server is installed, but doesn’t seem to be being called.

        • Raj

          Please post your error

        • hobo

          If you have updated Centos 7 and xrdp got updated there is a permission problem executing xrdp.

          chcon –type=bin_t /usr/sbin/xrdp
          chcon –type=bin_t /usr/sbin/xrdp-sesman

          fixes the problem

          • Raj

            Thanks, have updated the article

  • burcugul

    Hi,
    thank you for really good step by step guide. It works without problem.

  • Rich Wysong

    I couldn’t get it to work without a reboot first (init 6, ftw).

  • Bigben

    Hi, nice job but don’t work for me 🙁
    With CentOs 6 i works only if i uncomment the line “VNCSERVERS=”2:myuser” in the configuration file /etc/sysconfig/vncservers …
    Is it the same thing for CentOs 7 ?

    Thanks a lot.

  • cheats gta 5 ps3 nederlands

    Impresionante, este articulo es de loo mas interesante, mi hermano mayor esta leyendo con interes un monton de est tipo de articulos, de manwra que no tardare
    en decirselo y enviarle hasta este asunto.

    • Raj

      Dear Shengoko,

      Could not find any issue in the URL, try to add the repo manually (same is mentioned in tutorial)

      • Shengoko

        Sorry, must have typed something wrong, when copied and paste, it worked. Followed all the instructions, but remote desktop still does not work.

        Also rebooted too. What does (init 6, ftw). mean?

        Is there anything that needs to be on first before this will work?

        • Raj

          Dear Shengoko,

          What actually is your problem, make sure you have gnome installed

  • Laszlo

    I did followings to install centos 6.5 x86_64 with xrdp within virtualbox

    1. installed centos with minimal option
    2. yum install epel-release # this adds epel repo which contains xrdp
    3. yum install tigervnc-server
    4. yum install xrdp
    5. yum groupinstall “Fonts”
    6. yum install icewm xterm
    7. create user for vnc then set its vncpassword:
    useradd myuser
    passwd myuser
    su – myuser
    vncpasswd
    8. Edit config files /etc/sysconfig/vncservers
    VNCSERVERS=”2:myuser”
    VNCSERVERARGS[2]=”-geometry 800×600 -nolisten tcp -localhost”

    /etc/sysconfig/iptables
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 3389 -j ACCEPT
    9. (re)start services: xrdp iptables
    10. ensure that service will start after reboot:
    chkconfig xrdp on
    (vncserver will be started by xrdp with login – starting vncserver is not required)
    11. connect to server with RDP
    Because /etc/xrdp/startwm.sh starts the graphical user interface and because cannot find window managers it starts an xterm window. From the xterm window I can start icewm or edit /etc/xrdp/startwm.sh and add icewm to sessions :
    SESSIONS=”gnome-session blackbox fluxbox startxfce4 startkde icewm xterm”

    This way icewm process remains running when xrdp service is restarted – however this happens rarely.

  • Laxman S Mandloi

    Hi,

    Thanks for the excellent post, one minor issue during the logging with username/pass i am getting fonts error message.

    After few minute I found the fix is restart the systemctl restart xrdp-sesman.service.

  • Cary

    Hey Raj,

    I have followed your guide step-by-step and I get “error – problem connecting”. Here’s what I’ve done:

    – Installed CentOS 7 Minimal
    – Installed EPEL and nux Dextop (Automated)
    – Installed xrdp tigervnc-server
    – systemctl start xrdp.service
    – systemctl enable xrdp.service
    – Configured firewall

    Again, I can connect enough to see Connection Log and get the following:

    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_response:login successful for display
    started connecting
    connecting to 127.0.0.1 5910
    error – problem connecting

    There has to be one step missing from this guide, but for the life of me I can’t find it. I’ve installed xrdp the “much” harder way, so I was really hoping this would work. If you’re able to see what step I am missing, please do let me know! Thanks much!!!

      • Cary

        Raj,

        Thanks for the reply. I realized that Gnome (a WM) must be installed after reading slowly through all the posts. I knew I had brainfarted. Once it installed, I’m good to go. Might want to add that above as a pre-req just so folks who tend not to RTFM see it called out. Thanks again!

        Cheers…

        • Raj

          Thanks Cary, have updated as Pre-Req.

  • Thierry

    Hi I am trying to connect to a fresh install with GUI but no success yet even when following word for word this tutorial

    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_response:login successful for display
    started connecting
    connecting to 127.0.0.1 5910
    error – problem connecting

    Package epel-release-7-2.noarch.rpm is not available anymore, it is 7-5 instead.

    Any hint?

    • Raj

      Pls install Gnome GUI

  • Kazi

    Very good document. Took me 5 minute to setup RDP for CentOS7.

  • Kherrscher

    Raj, thanks for your clear and concise step by step instructions. They worked flawlessly for me.

  • Rich

    Raj, instruction work great, my problem is with auto scaling. was working fine with centos 6.6. I could rdp into it and what ever resolution my local window was it would auto scale. would like the same function if possible.

    thanks.

  • Vladimir

    Ok, I have Gnome GUI and I have tigervnc-server installed. I still get the
    connecting to 127.0.0.1 5910
    error – problem connecting

    Any ideas how to solve this?

    I have followed your guide to the letter.

    • Vladimir

      Hmm… Xvnc :10 can be started without any errors or warnings.

      in the xrdp log I have found this:
      [20150127-12:12:42] [INFO ] starting Xvnc session…
      [20150127-12:12:52] [ERROR] X server for display 10 startup timeout
      [20150127-12:12:52] [INFO ] starting xrdp-sessvc – xpid=11314 – wmpid=11313
      [20150127-12:12:52] [ERROR] X server for display 10 startup timeout
      [20150127-12:12:52] [ERROR] another Xserver is already active on display 10
      [20150127-12:12:52] [DEBUG] aborting connection…

      vncserver can be started without errors or warnings.

      I still get the
      connecting to 127.0.0.1 5910
      error – problem connecting

      Any ideas how to solve this?

      Thanks!

      • Raj

        Hi,

        Stop the xrdp service and remove .X* files in tmp mount point.

        rm -rf /tmp/.X*

        Then reboot the server and check it.

        PS: Assuming that xrdp will start automatically.

      • Morten Vinding Svendsen

        I have just spend most of the day trying to track down this.

        It turned out that the RDP client in Windows 7 is incompatible if set to use 15 bit color!

        Any other colordepth than 15 bit worked perfect (16, 24 and 32 all worked).

  • Ashish varma

    this work good for us but there is a problem
    we connect with the the same user on multiple machine
    and both work separately with that particular user
    is there any solution for this issue..?????

    • Raj

      Dear ashish,

      Thats not abnormal, It is designed to do so. Instead you configure VNC for this issue.

  • JDAIII

    I have installed according to the guide.

    Question is, I have gnome and xfce installed and I want the rdp to default to xfce. how would this be done? I can log in at physical workstation with xfce if I select it at the login screen, but can’t seem to get the rdp to default to xfce for users logging in. It always defaults to gnome.

    I tried:
    1. placing startxfce4 at the front of the list in /etc/xrdp/startwm.sh (didn’t work)
    2. commenting out wm_start and placing startxfce4 in it’s place (didn’t work)
    3. Created a ~/.xsession file and populated it with startxfce4 (didn’t work)

  • nick

    perfect, thank you

  • Sathishkumar

    Hi, I have installed CentOS 7 and installed xrdp as per your instuction. yes it works!!.
    But my problem is, when i connecting through rdp(thin client) its display scaling goes out of focus. Part of the desktop only visible(Screen resolution changes to 1920×1200. But my Monitor highest resolution is 1366×768.)
    Please help me!!!!!!!!!!!!!!!!!!!

  • Khaled

    Great post worked perfect, Thank you.

  • Matt

    Unfortunately I cannot get this to work. I have the packages installed, and I have started the service without any errors. The service is not listening on ports 3389 or 3350. It is like the service did not start, but then I looked at the log file and confirmed that the service started. From what I can see in iptables, all traffic is allowed. Running RHEL 7.1

  • Pragya

    Hi,
    I installed xrdb package for RHEL 7. I could log in and as soon after I get a screen which tells me
    “Oh no! Something has gone wrong.
    A problem has occurred and the system can’t recover.
    Please logout and try again.”
    I could not resolve this even after several attempts.

    • Raj

      Dear pragya,

      Please install gnome

      • Pragya

        Hi Raj,
        I have aready installed gnome using the command:
        yum groupinstall “Server with GUI”
        The fact is that I am able to do mstsc on the machine. xrdp asks for credentials, and after I enter the credentials, I get a login success message. But after this I get a white screen giving the above stated error :/

        • anonymous

          Try by disabling SELinux

          • LordBeeg

            disabling SELinux worked for me. I’ve run XRDP on both RH 6 and Ubuntu 14.04. Of course, many believe that disabling SElinux is the sledgehammer approach. So you may want to take a more surgical approach depending on the needs of your environment.

  • stanislav

    not work:( error
    [root@linux admin]# systemctl status xrdp.service
    xrdp.service – xrdp daemon
    Loaded: loaded (/usr/lib/systemd/system/xrdp.service; disabled)
    Active: failed (Result: exit-code) since Вт 2015-04-14 13:34:41 MSK; 10s ago
    Process: 5176 ExecStart=/usr/sbin/xrdp $XRDP_OPTIONS –nodaemon (code=exited, status=203/EXEC)
    Main PID: 5176 (code=exited, status=203/EXEC)

    апр 14 13:34:41 linux systemd[1]: Started xrdp daemon.
    апр 14 13:34:41 linux systemd[1]: xrdp.service: main process exited, cod…EC
    апр 14 13:34:41 linux systemd[1]: Unit xrdp.service entered failed state.
    Hint: Some lines were ellipsized, use -l to show in full.

    ???

    • stanislav

      problem complite

      > sudo chcon –type=bin_t /usr/sbin/xrdp
      > sudo chcon –type=bin_t /usr/sbin/xrdp-sesman
      > sudo systemctl reenable xrdp.service
      > sudo systemctl start xrdp.service

  • giri

    Hi Raj,

    I have installed xrdp on RHEL 7.1 (Maipo) VM following the steps mentioned

    In the connection log it shows that tcp connected, however, it fails after sending ecodings.

    Below is the connection log.

    Connecting to sesman ip 127.0.0.1 port 3350
    sesman connect ok
    sending login info to session manager, please wait….
    xrdp_mmprocess_login_response: login successful for display
    started connecting
    connecting to 127.0.0.1 5910
    tcp connected
    security level is 2 (1= none, 2 = standard)
    password ok
    sending share flag
    receiving pixel format
    receiving pixel length
    receiving name length
    receiving name
    sending pixel format
    sending encodings
    error – problem connecting

    After giving above error for 3 or 4 times it connects showing black screen.
    Restarting the service gives the same error.

    Thankyou

    • Raj

      Post me a log

      • giri

        Hi Raj,

        Here some the warnings/errors in the /etc/var/log/messages log

        Apr 17 07:25:19 test-server gnome-session: gnome-session[31570]: WARNING: Could not get session id for session. Check that logind is properly installed and pam_systemd is getting used at login.
        Apr 17 07:25:19 test-server gnome-session[31570]: WARNING: Could not get session id for session. Check that logind is properly installed and pam_systemd is getting used at login.
        ……
        ……..
        Apr 17 07:25:19 test-server gnome-session: (gnome-settings-daemon:31726): power-plugin-WARNING **: failed to turn the panel on: Display is not DPMS capable
        Apr 17 07:25:19 test-server xrdp-sesman: Connections: closed: 127.0.0.1::49859 (Client does not support desktop resize)
        Apr 17 07:25:19 test-server xrdp-sesman: SMsgWriter: framebuffer updates 0

        • giri

          ——–above log continued

          Apr 17 07:25:19 test-server pulseaudio[31731]: [pulseaudio] socket-server.c: bind(): Address already in use
          Apr 17 07:25:19 test-server pulseaudio[31731]: [pulseaudio] module.c: Failed to load module “module-esound-protocol-unix” (argument: “”): initialization failed.
          Apr 17 07:25:19 test-server pulseaudio[31731]: [pulseaudio] main.c: Module load failed.
          Apr 17 07:25:19 test-server pulseaudio[31731]: [pulseaudio] main.c: Failed to initialize daemon.
          Apr 17 07:25:19 test-server gnome-session: E: [pulseaudio] main.c: Daemon startup failed.
          Apr 17 07:25:19 test-server gnome-session: gnome-session[31570]: WARNING: App ‘pulseaudio.desktop’ exited with code 1
          Apr 17 07:25:19 test-server gnome-session[31570]: WARNING: App ‘pulseaudio.desktop’ exited with code 1
          Apr 17 07:25:19 test-server goa[31820]: GoaKerberosIdentityManager: Using polling for change notification for credential cache type ‘KEYRING’ [goakerberosidentitymanager.c:1394, monitor_credentials_cache()]
          Apr 17 07:25:19 test-server gnome-session: (gnome-settings-daemon:31726): power-plugin-WARNING **: Unable to inhibit lid switch: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Operation not permitted
          Apr 17 07:25:19 test-server gnome-session: (gnome-settings-daemon:31726): media-keys-plugin-WARNING **: Unable to inhibit keypresses: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Operation not permitted
          Apr 17 07:25:19 test-server dbus-daemon: dbus[674]: [system] Activating service name=’org.freedesktop.PackageKit’ (using servicehelper)
          Apr 17 07:25:19 test-server dbus[674]: [system] Activating service name=’org.freedesktop.PackageKit’ (using servicehelper)
          Apr 17 07:25:20 test-server dbus-daemon: dbus[674]: [system] Successfully activated service ‘org.freedesktop.PackageKit’
          Apr 17 07:25:20 test-server dbus[674]: [system] Successfully activated service ‘org.freedesktop.PackageKit’

          • giri

            ——- —above log continued

            Apr 17 07:25:20 test-server pulseaudio[31843]: [pulseaudio] socket-server.c: bind(): Address already in use
            Apr 17 07:25:20 test-server pulseaudio[31843]: [pulseaudio] module.c: Failed to load module “module-esound-protocol-unix” (argument: “”): initialization failed.
            Apr 17 07:25:20 test-server pulseaudio[31843]: [pulseaudio] main.c: Module load failed.
            Apr 17 07:25:20 test-server pulseaudio[31843]: [pulseaudio] main.c: Failed to initialize daemon.
            Apr 17 07:25:20 test-server pulseaudio[31838]: [pulseaudio] main.c: Daemon startup failed.
            Apr 17 07:25:20 test-server gnome-session: (gnome-settings-daemon:31726): Gvc-WARNING **: Failed to connect context: Connection refused
            Apr 17 07:25:20 test-server dbus-daemon: dbus[674]: [system] Activating via systemd: service name=’org.freedesktop.locale1′ unit=’dbus-org.freedesktop.locale1.service’
            Apr 17 07:25:20 test-server dbus[674]: [system] Activating via systemd: service name=’org.freedesktop.locale1′ unit=’dbus-org.freedesktop.locale1.service’
            Apr 17 07:25:20 test-server systemd: Starting Locale Service…
            Apr 17 07:25:20 test-server gnome-session: (gnome-settings-daemon:31726): color-plugin-WARNING **: failed to get edid: unable to get EDID for output
            Apr 17 07:25:20 test-server dbus-daemon: dbus[674]: [system] Successfully activated service ‘org.freedesktop.locale1’
            Apr 17 07:25:20 test-server dbus[674]: [system] Successfully activated service ‘org.freedesktop.locale1’
            Apr 17 07:25:20 test-server systemd: Started Locale Service.
            Apr 17 07:25:20 test-server gnome-session: (gnome-settings-daemon:31726): PackageKit-WARNING **: failed to set proxy: GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._pk_5fengine_5ferror.Code3: failed to obtain auth
            Apr 17 07:25:20 test-server gnome-session: (gnome-settings-daemon:31726): updates-plugin-WARNING **: failed to set proxies: GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._pk_5fengine_5ferror.Code3: failed to obtain auth
            Apr 17 07:25:20 test-server gnome-session: (gnome-settings-daemon:31726): color-plugin-WARNING **: failed to create device: failed to obtain org.freedesktop.color-manager.create-device auth

            Thanks again

        • Raj

          Hi Giri,

          Looks like failing due to authentication, try use some other user. please check the pam file too

  • excellent

    For one reason, I can’t see all of this text, it keeps disappearing? Are you using javascript?

    • Raj

      Are u referring command texts

  • Mohamed Sidik

    Hello Raj,

    Excellent post. Just a minor issue. I can get to to the stage wher I enter my centos uname and password. It then displays the message “Connecting to sesman ip 127.0.0.1 port 3350….. sesman connect ok….. sending login info to session manager, please wait… and then nothing.

    Your advice will be highly appreciated 🙂

    Thanks,

    Mohamed

    • Raj

      Consider installing gnome and configure SELinux.

      Please post error log if you still face any issue

      • Moiz

        Hi Raj,

        I am also getting the same error Message. Please elaborate your solution.

        Thanks
        Moiz Irani

      • billbillbillbill

        I configured selinux as described… same error as Moe.

        Nevermind… I restarted the xrdp service and it’s working fine. Thank you for the instructions, above!

  • akash

    thnx for the guide but its not worked for me .i have tried 2 times the steps but the same result .first it comes a black screen then after some time it says “oh..no something has gone wrong” logout and try again
    i am running it on windows azure vm .
    can you plz help me out with this .
    or any special thing should be done for windows azure.

  • Tamvan

    thanks Mr.Raj. that’s very usefull but i have one question.
    i success log in to my rdp centos but its blue blank. please give me your advice
    thanks a lot

  • Cris Mooney

    Black screen and /var/log/messages note “xrdp-sesman: ** (process:####): WARNING **: software acceleration check failed: Child process exited with code 1”:

    Remote Desktop from an old machine and/or within Remote Desktop may be problematic for some. Having many machines, I remote desktop into one machine that I use to control others, and thus remote desktop two levels. My first level Remote Desktop on an XP machine apparently does not support “software acceleration” as a client, and so I was unexpectedly getting a black screen connecting to my new VMWare ESXi hosted CentOS setup. No nice Remote Desktop/XRDP GUI message telling me I was on too wimpy a client, just a hanging black screen. After seeing the log message on a parallel ssh session, I found https://bugs.launchpad.net/ubuntu/+source/gnome-session/+bug/1251281 which seems to implicate unintuitive Gnome version 3 requirements. A “yum list gnome-sess*” reported I had 3.8.4.11.el7, so now that I know what is up I guess I live with it or get very dirty trying workarounds.

    • Kyle Nevling

      I had this same issue and it turns out that repairing it was as simple as clearing saved credentials from the Windows RDP client.

  • Mark

    Worked on the first try. Thanks! My mouse is not tracking correctly, but it is functional.

    Before trying your instructions I tried to install xrdp using the instructions on github. Wasted several hours. Binaries in wrong directories, files missing, etc. Finally deleted everything and rebooted, then found your instructions.
    Prior to installing the package I disabled firewalld and selinux.

  • d87

    Thank you so much, it worked on the first try.

  • Roman S.

    Hi. gnome-shell use over 30% each cpu core on rdp session. What can I do with it?

  • Ray DeMoss

    After trying 3 different flavors of Linux, Centos 6 & 7, and Ubuntu, I kept getting “another Xserver is already active on display 10” then fails for every attempt. I’ve been trying to connect to the Linux box from a Windows 10 box using Remote Desktop Client (RDC). On day 2 I discovered something that must be obvious to everyone else, but I don’t see it documented anywhere. The default for (RDC) is to use “High Color (15-bit)”, and this always fails with “another Xserver is already active on display 10”. When you choose “High Color (16-bit), it logs in and displays the desktop perfectly.

  • Chris Barry

    Worked perfect on Centos 7 version 7.2.1511 thanks for this.

  • Pippo La Manica

    Worked perfect on the first try. Many thanks !!

  • Fintya

    Perfect tutorial, works really good!!

  • sj torn

    thanks for the great tutorial, but i’m stuck on yum -y install xrdp tigervnc-server Using RHEL7.3

    I get this:

    Config error: File contains no section headers.
    file: file:///etc/yum.repos.d/xrdp.repo, line: 1
    ‘me=xrdpn’

    I’m new to Linux and just learning, so i think that i can’t figure out how to get the xrdp.repo file right.

    Any help would be much appreciated!
    sj

    • Emil Ferent

      you haven’t pasted in the first line:[xrdp]

  • Isis Incrisis

    Thank you!! helped me a lot!!

  • D.Castt

    Thanks, worked fine on the first try.

  • Dheerandra Kamath

    Thanks! the steps given is actually like a spoon feed. It worked for me.

  • Dan Thomas

    After the latest update of Centos 7, xrdp stopped working. I tried reinstalling using your instructions but it does not work. The XRDP does not start.

    • Jay Brennan

      Is your rdp port open?

  • Matt

    Not able to get in:

    https://uploads.disquscdn.com/images/d83871f4ea2ca16febc11109505ef18100a36b66ba01fa06009fd73cd72d02dc.png

    /var/log/xrdp-sesman.log says:

    [20170821-16:03:12] [INFO ] scp thread on sck 7 started successfully
    [20170821-16:03:12] [INFO ] ++ created session (access granted): username root, ip 174.26.209.64:49391 – socket: 7
    [20170821-16:03:12] [INFO ] starting Xvnc session…
    [20170821-16:03:13] [INFO ] starting xrdp-sessvc – xpid=2000 – wmpid=1999
    [20170821-16:03:13] [INFO ] ++ terminated session: username root, display :11.0, session_pid 1998, ip 174.26.209.64:49391 – socket: 7

    • Matt

      Problem solved. I didn’t have a GUI installed. I ran:

      yum groupinstall “server with gui”

      and it worked.

      • Stanislav Alyokhin

        So people say, but i installed MATE to specifically avoid getting that bloated 480 package “GUI” installed. Makes the machine slow and with Gnome3 things usualluy end up with my distro becoming a black hole that sucks in endless recursive dependancy chains. There has to be cleaner workaround to this. like port-forwarding throught the router configs?… Unfortunatley my router cant do that for RDP.

  • Arnie Coronel

    I have an error with

  • Boris Chuyko

    Very clean and simple guide! Thanks a lot for your work

  • Philip Zook

    I can’t connect.

    • Raj

      What are you getting? an error?

  • Djonny Cruz

    Hi all,

    I need NLA configured. Is that supported?

  • Ricky

    works as I follow steps closely. Thanks

  • bernadette

    followed these steps to the letter, but my windows machine is not able to make the connection to the CentOS 7 server. I will not even connect at all and just immediately gives the RDP connection error. We are in the same office, on the same subnet. All the steps above ran successfully on the centos 7 server, and the “netstat -antup | grep xrdp” check confirms that we are successfully listening on port 3389 for xrdp connections. Windows 10 does not connect to the machine. Any ideas???

  • Seongjae

    When I move or drag the mouse, It goes disconnect the remote desktop of CentOS 7 via XRDP.
    Any ideas? I really appreciated in advance.