Install XRDP

This article will describe installing XRDP on latest Linux distribution.

 

1 Install XRDP

Fedora and CentOS need SELinux configuration. Debian and Ubuntu have a problem with running XRDP on GNOME3. If you want to use on GNOME3, you must install tigervncserver. 

1.1 Fedora 23 / Fedora 24

Install xrdp with dnf and use chcon.

$ sudo dnf install -y xrdp
$ sudo chcon -t bin_t /usr/sbin/xrdp*  # Fedora 24 does not need this.
$ sudo systemctl enable xrdp.service
$ sudo systemctl restart xrdp.service

1.2 CentOS 7

Install xrdp with yum from epel and use chcon.

$ sudo yum install -y epel-release
$ sudo yum update -y
$ sudo yum install -y xrdp
$ sudo chcon -t bin_t /usr/sbin/xrdp*
$ sudo firewall-cmd --add-port=3389/tcp --permanent
$ sudo firewall-cmd --reload
$ sudo systemctl enable xrdp.service
$ sudo systemctl restart xrdp.service

1.3 Debian 8

Install xrdp with apt.

$ sudo apt-get install -y xrdp
$ sudo systemctl enable xrdp.service
$ sudo systemctl start xrdp.service

1.4 Ubuntu 14.04

Install xrdp with apt.

$ sudo apt-get install -y xrdp
$ sudo systemctl enable xrdp.service
$ sudo systemctl start xrdp.service

1.5 Ubuntu 16.04

Please use snapd 2.0.5 or later version. If you use previous version, please fix /etc/X11/Xsession.d/65snappy according to this. Please see here for GNOME Classic Desktop and here for Unity.

$ sudo apt-get install -y xrdp
$ sudo systemctl enable xrdp.service
$ sudo systemctl start xrdp.service

1.6 LinxMint 18

You need to install tigervnc for connecting to Cinnamon.

$ sudo apt install -y xrdp

2 Connect to LXDE

Install LXDE desktop.

$ echo "lxsession -s LXDE -e LXDE" > ~/.xsession

3 Connect to Xfce

Install Xfce desktop.

$ echo "xfce4-session" > ~/.xsession

4 Connect to Mate Desktop

Install Mate desktop.

$ echo "mate-session" > ~/.xsession

5 Connect to KDE Plasma

5.1 Fedora 24

Run startkde in ${HOME}/.Xclients.

$ echo "startkde" > ~/.Xclients
$ chmod a+x ~/.Xclients

5.2 CentOS 7

Run startkde in ${HOME}/.Xclients.

$ echo "startkde" > ~/.Xclients
$ chmod a+x ~/.Xclients

KDE Plasma in CentOS 7 does not respect Xvnc geometry, the resolution of XRDP session will be the largest one. For avoid this issue, run "xrandr -x <width>x<height>". A setting of "xrandr -x <width>x<height>" is saved after rebooting machine.

$ xrandr -x 1280x1024

5.3 Debian 8

Run startkde in ${HOME}/.xsession.

$ echo "startkde" > ~/.xsession

5.4 Ubuntu 16.04

KDE Plasma in Ubuntu 16.04 needs tigervnc for XRDP. Please install tigervnc. Run startkde in ${HOME}/.xsession.

$ echo "startkde" > ~/.xsession

6 Connect to Cinnamon

6.1 Fedora 24

Run cinnamon-session in ${HOME}/.Xclients.

$ echo "cinnamon-session" > ~/.Xclients
$ chmod a+x ~/.Xclients

6.2 CentOS 7

Run cinnamon-session in ${HOME}/.Xclients.

$ echo "cinnamon-session" > ~/.Xclients
$ chmod a+x ~/.Xclients

Cinnamon in CentOS 7 does not respect Xvnc geometry, the resolution of XRDP session will be the largest one. Please change resolution with below Display setting. This is saved after rebooting machine.

Menu -> System Settings -> Display

6.3 Debian 8

KDE Plasma in Ubuntu 16.04 needs tigervnc for XRDP. Please install tigervnc. Run cinnamon-session in ${HOME}/.xsession.

$ echo "cinnamon-session" > ~/.xsession

6.4 Ubuntu 16.04

KDE Plasma in Ubuntu 16.04 needs tigervnc for XRDP. Please install tigervnc. Run cinnamon-session in ${HOME}/.xsession.

$ echo "cinnamon-session" > ~/.xsession