This guide is going to take you through on how to Install Xrdp Server on Ubuntu 22.04. Xrdp is a free and open-source implementation of Microsoft’s RDP (Remote Desktop Protocol) server that allows non-Windows operating systems (such as Linux and BSD-style operating systems) to deliver a fully functional RDP-compatible remote desktop experience. It works by relaying controls from the client back to the X Window Server and bridging graphics from the X Window System to the client.
How to Install Xrdp Server on Ubuntu 22.04
- Update your packages using the command below.
sudo apt update
- Next Install Xrdp Server on Ubuntu 22.04 using the following command.
sudo apt install xrdp
Sample output
Reading package lists... Done Building dependency tree... Done Reading state information... Done The following packages were automatically installed and are no longer required: fonts-open-sans gir1.2-gnomebluetooth-1.0 i965-va-driver intel-media-va-driver kwayland-data libaacs0 libavcodec58 libavformat58 libavutil56 libbdplus0 libbluray2 libchromaprint1 libcodec2-1.0 libdouble-conversion3 libgme0 libgsm1 libigdgmm12 libkf5waylandclient5 libmd4c0 libmfx1 libminizip1 libmng2 libnorm1 libopenal-data libopenal1 libopenmpt0 libpcre2-16-0 libpgm-5.3-0 libqrcodegencpp1 libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5svg5 libqt5waylandclient5 libqt5widgets5 librabbitmq4 librlottie0-1 libshine3 libsndio7.0 libsrt1.4-gnutls libssh-gcrypt-4 libswresample3 libswscale5 libudfread0 libva-drm2 libva-x11-2 libva2 libvdpau1 libx264-163 libxcb-record0 libxcb-screensaver0 libxcb-xinerama0 libxcb-xinput0 libxvidcore4 libzmq5 libzvbi-common libzvbi0 mesa-va-drivers mesa-vdpau-drivers qt5-gtk-platformtheme qt5-image-formats-plugins qttranslations5-l10n va-driver-all vdpau-driver-all Use 'sudo apt autoremove' to remove them. The following additional packages will be installed: xorgxrdp Suggested packages: guacamole The following NEW packages will be installed: xorgxrdp xrdp 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 582 kB of archives. After this operation, 3,380 kB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://ke.archive.ubuntu.com/ubuntu jammy/universe amd64 xrdp amd64 0.9.17-2ubuntu2 [517 kB] Get:2 http://ke.archive.ubuntu.com/ubuntu jammy/universe amd64 xorgxrdp amd64 1:0.2.17-1build1 [65.3 kB] Fetched 582 kB in 1s (1,115 kB/s)
- Xrdp Server should be up and running after installation, check status using the command below.
sudo systemctl status xrdp
Sample output
● xrdp.service - xrdp daemon Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2022-04-18 13:20:37 EAT; 2min 1s ago Docs: man:xrdp(8) man:xrdp.ini(5) Process: 10974 ExecStartPre=/bin/sh /usr/share/xrdp/socksetup (code=exited, status=0/SUCCESS) Process: 10982 ExecStart=/usr/sbin/xrdp $XRDP_OPTIONS (code=exited, status=0/SUCCESS) Main PID: 10983 (xrdp) Tasks: 1 (limit: 4588) Memory: 860.0K CPU: 21ms CGroup: /system.slice/xrdp.service └─10983 /usr/sbin/xrdp Apr 18 13:20:36 nfs.itnixpro.com systemd[1]: Starting xrdp daemon... Apr 18 13:20:36 nfs.itnixpro.com xrdp[10982]: [INFO ] address [0.0.0.0] port [3389] mode 1 Apr 18 13:20:36 nfs.itnixpro.com xrdp[10982]: [INFO ] listening to port 3389 on 0.0.0.0 Apr 18 13:20:36 nfs.itnixpro.com xrdp[10982]: [INFO ] xrdp_listen_pp done
Configure Xrdp Server on Ubuntu 22.04
- Xrdp created a user named xrdp in your system during the installation. The xrdp session uses the “/etc/ssl/private/ssl-cert-snakeoil.key” certificate key file.
- To make the file readable by the user, we need add the xrdp user to the ssl-cert group using the following command.
sudo adduser xrdp ssl-cert
Allow Xrdp Server on Firewall
- By default Xrdp listens on port 3389, if you are using firewall allow Xrdp using the following command.
sudo ufw allow from 192.168.0.0/24 to any port 3389
- Next reload firewall to apply new changes.
sudo ufw reload
Connect to Ubuntu 22.04 Xrdp Server
- In this example, we will connect to the Xrdp server we just set up using windows 10.
- Open RDP app and enter your Ubuntu system IP address.
- You will be prompted to confirm if you want to connect.
- Next enter your Ubuntu credentials to connect as shown below.
- NOTE: Ensure that the user you are using for RDP is not already logged in via the desktop user interface.
If you get a black blank screen simply logout first on your Ubuntu then reconnect the windows RDP.
You also need to modify the Xrdp start script, /etc/xrdp/startwm.sh
and add the lines;
Unset DBUS_SESSION_ADDRESS
Unset XDG_RUNTIME_DIR
Such that the script looks like;
#!/bin/sh # xrdp X session start script (c) 2015, 2017, 2021 mirabilos # published under The MirOS Licence # Rely on /etc/pam.d/xrdp-sesman using pam_env to load both # /etc/environment and /etc/default/locale to initialise the # locale and the user environment properly. if test -r /etc/profile; then . /etc/profile fi Unset DBUS_SESSION_ADDRESS Unset XDG_RUNTIME_DIR test -x /etc/X11/Xsession && exec /etc/X11/Xsession exec /bin/sh /etc/X11/Xsession
This requires an Xrdp restart
systemctl restart xrdp
- After successful connection, you will be connected to the Ubuntu running Xrdp server.
- You have made it to the end of the article, Cheers! . You have learned how to Install Xrdp Server on Ubuntu 22.04.
Read more about Xrdp
Other Tutorials
Install ELK Stack 8 on Rocky Linux