How to Deploy and Configure xrdp on Linux

 1. Introduction

Begin with an engaging introduction that briefly explains what xrdp is and its relevance for Linux users seeking a remote desktop protocol solution. Include a keyword-rich overview of what the article will cover.

2. What is xrdp?

Provide a detailed description of xrdp, including its functionality and benefits. Explain how xrdp serves as a bridge between Microsoft's RDP protocol and the X window system of Linux.

3. Installation Requirements for xrdp

On Fedora:

Start by updating your system:

sudo dnf upgrade

Install xrdp:

sudo dnf install xrdp -y

On Ubuntu:

Start the xrdp service:

sudo systemctl start xrdp

Enable xrdp to start at boot:

sudo systemctl enable xrdp

Check the status of the xrdp service:

sudo systemctl status xrdp

Other RDP Clients

Mention alternatives to xrdp that users might consider, such as:

  • FreeRDP
  • rdesktop
  • Remmina
  • KRDC

4. Configuring User Accounts for xrdp

Explain the importance of setting up a dedicated user account for RDP sessions and provide commands:

Add a new user:

sudo useradd rdpuser

Set a password for the user:

sudo passwd rdpuser

5. Basic Configuration of xrdp

Systemwide Service Configuration File:

The main configuration file for xrdp is located at /etc/xrdp/xrdp.ini. You can edit this file with your preferred text editor. This file includes four key sections:

  • Global: This section sets up global configurations for the xrdp server.
  • Logging: Here, you can specify details about logging.
  • Channels: This part allows you to configure different channel types.
  • Session Types: This section covers connectivity settings for xrdp and VNC.

Session Configuration File:

xrdp uses a session manager or graphical user interface (GUI) specified in a file within the home directory of the user account that will connect to the system. This file dictates which Linux desktop environment xrdp should use. You only need to set this up if your Linux system does not already use a GUI. To set up the session file:

Open a text editor and create a .xsession file in the user's home directory.

Enter the session manager information specific to the GUI you are using. For example, for the XFCE environment, you would add:


Alternatively, you can automatically insert this into the .xsession file by typing:

echo "xfce4-session" > .xsession

Configure the Firewall:

To allow a remote desktop connection from a Windows system to your Linux server, you need to configure the firewall to allow traffic on the default RDP port, which is 3389/tcp. The configuration steps can vary depending on your firewall management system, but here are examples for two common systems:

Using Firewalld:

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

sudo firewall-cmd --reload

Using Uncomplicated Firewall (UFW) on Ubuntu:

sudo ufw allow 3389/tcp

sudo ufw status

In some cases, particularly on systems using Security-Enhanced Linux (SELinux), you may also need to adjust SELinux permissions to allow xrdp to access necessary system resources:

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

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

(Note: The Fedora test system used in this example did not require these changes.) Thank you for reading the page!


Popular posts from this blog

zimbra some services are not running [Solve problem]

How to install php7 on centos 6

Bash script list all IP addresses connected to Server