Getting Started With XRDP on Raspberry Pi (Remote Desktop)
I often control my Raspberry Pi remotely from another computer. VNC is often the popular choice as it’s installed by default on Raspberry Pi OS, but XRDP is another solution I like using. In this article, let me introduce you to XRDP and show you how to get started in a few seconds.
RDP (Remote Desktop Protocol) allows a user to get access to the full desktop environment from another computer. An RDP server (xrdp) can be installed on any Debian distribution with APT, and the client is often pre-installed on most PCs (Windows, Linux, and macOS).
I’ll start with a brief introduction about this protocol (feel free to skip it if you already know it), and then I’ll show you how to install it on Raspberry Pi OS. Finally, I’ll cover how to connect to your Pi from any computer.
If you’re feeling lost in all the Raspberry Pi jargon, I’ve got something to help you out. I’ve created a free glossary that explains all the essential terms and abbreviations in a way that’s easy to understand. It’s a great resource to have by your side. Get your free copy here.
Introduction to XRDP
Let’s clarify the abbreviations before going further, to make sure we are on the same page.
What is RDP?
RDP stands for Remote Desktop Protocol, and was formerly known as TSE (Terminal Server).
RDP is the original protocol, created by Microsoft to provide any user access to the graphical interface from another computer.
I don’t know if it’s still used often in companies, but when I started working as a system administrator, it was almost the standard in big companies. There was a big server with all the applications installed on it, and each user had a thin client to access it.
Our users didn’t have a traditional PC, just something inexpensive and not powerful that could only access the remote server via RDP. Everything sat on the server, so no local files. Companies were saving administrators’ time (and maybe money, even if there were license fees from Microsoft).
Anyway, the idea is great. I was using it every day as a system administrator to manage the company’s servers. But it’s a Microsoft product, so how does it relate to our Raspberry Pi?
You can get answers from real experts in minutes.
Get help with your setup
What is XRDP?
XRDP is the free and open-source equivalent of the RDP protocol for Linux users and servers. It’s available on most distributions and there are no license fees.
That’s what we’ll use in this tutorial. It’s available in the default repository on Raspberry Pi OS. And even if you aren’t using the official distribution, it’s probably still available.
It works the same way across operating systems. You can use the same clients, so if you have a Windows computer, the client is already installed, and it’s the same as a Windows server.

I did a survey on my YouTube channel, and it seems that most people use VNC. Even if VNC is installed by default, it has some downsides, as we’ll discuss later. So, you might need to consider both solutions depending on your needs.
(Anyway, if you want to try it, I also have a complete guide on how to use VNC on Raspberry Pi on this website.)
Update: There is now a new tool developed by the Raspberry Pi Foundation itself: Raspberry Pi Connect. Click on the link to learn more about it—it might be worth checking out before trying XRDP or VNC.
How to Install XRDP on Raspberry Pi
Here are the required steps to install XRDP on Raspberry Pi:
- Install the server package (xrdp) with APT.
- Get the Raspberry Pi’s IP address.
- Create a dedicated user account.
Let’s learn how to do this on Raspberry Pi OS.
XRDP Installation
XRDP is available in the default Raspberry Pi OS repository, so the installation is straightforward:
Bonus tip: When I started, the hardest part wasn’t the setup, it was figuring out what to build next. I ended up creating a list of 75+ project ideas with links and difficulty, so it’s easier to just pick something and try it. Grab the list here.
If you want a clearer path than jumping from tutorial to tutorial, my book gives you a step-by-step roadmap to really understand your Raspberry Pi.
Check the book here- Open a terminal (or SSH connection).
- Update the APT packages list:
sudo apt update - Install the XRDP package:
sudo apt install xrdp

That’s it. If needed, you can manage the service with:sudo systemctl xrdp <action>Where <action> can be start, stop, status, or restart.
But it should start automatically on boot after installation, so you shouldn’t need to do anything.

Using a terminal is the fastest way to install it, but you can also do from the desktop with the Add/Remove software tool if you want. Just search for “xrdp” in this tool and install the corresponding package.
You might also like: 7 Surprising Uses for a Raspberry Pi
Tip: Command lines can be a pain to memorize. I put the essential Linux commands on a printable cheat sheet so you don't have to keep googling them. You can grab the PDF here if you want to save some time.
Get the Raspberry Pi IP address
XRDP is installed, but there are two additional steps before we can start using it. First, we need to know the Raspberry Pi IP address. It’s the identifier of the Raspberry Pi on the network.

If you are not familiar with this, I have a complete tutorial here. But basically, as you have a desktop environment, the easiest way will be to hover your mouse over the network icon in the top-right corner to get it directly.
If you’re not using Raspberry Pi OS, it’s probably in the network settings, or you can run this command from a terminal:ip a
And find the IP address in the output:

Create a New User Account
Since Raspberry Pi OS Bullseye, you can no longer use the default account (‘pi’) to connect via RDP (for security reasons, I guess). I thought it was possible to use it while disabling auto-login, but it didn’t work during my tests.
If you already have a different user account, use that one. If not, or for more security, I recommend creating a new account dedicated to XRDP.
From a terminal, you can create a new user with:sudo adduser <name>

It will ask for the user information, including the password.
If you need special permissions for this user (you probably need “sudo” at least), you can read my tutorial on how to manage users on Raspberry Pi. It will explain everything in detail, so I won’t repeat all of it here.
That’s it—the Raspberry Pi part is done. Now we can switch to your PC to see how to use RDP from there.
How to Use RDP From Your Computer
In most cases, an RDP client is already available on your computer (or easy to install). It’s different on each operating system: Windows users can use the default RDP client, Linux users can install Remmina, and Mac users can install an app from the app store.
Windows
On Windows, the Remote Desktop Connection app is normally already installed.
Just look for “rdp” in the start menu (check the “Accessories” subfolder on older versions).

If you uninstalled it or don’t have it for some reason, you can download Remote Desktop here.
A window will appear, where you’ll enter the Raspberry IP address you noted earlier:
You might also like: Yes, you can access your Pi from anywhere. Here's how.

If you have a newer version of Remote Desktop on Windows 11, it might look like this instead:

Once connected, log in with your user account (don’t use the default ‘pi’ user, it won’t work):

Note: As of this writing, XRDP doesn’t work with the Wayland display server. If you’re getting a blank screen after connecting, switch your Raspberry Pi’s desktop to use the older X11 display server using raspi-config.
That’s it, you should get access to the full desktop environment of the Raspberry Pi after that:

It’s not like VNC where you interact on the same screen as on the Raspberry Pi monitor. It’s a different, separate session. But you can do everything from there.
Linux
To install RDP on Linux, it depends on which distribution you use. One tool I like is named Remmina. It works with XRDP but also with VNC and other protocols, so it’s great to have one app for everything.
Remmina might be pre-installed, but if it’s not the case on your system, you can generally find it in the default repository. So, for example, on Debian-based systems:sudo apt install remmina
You might also like: The Raspberry Pi projects that pay for themselves
Bonus tip: When I started, the hardest part wasn’t the setup, it was figuring out what to build next. I ended up creating a list of 75+ project ideas with links and difficulty, so it’s easier to just pick something and try it. Grab the list here.
Or use the “app store” if you have one, for example on Ubuntu you can find it in Ubuntu Software:

Once installed, it’s the same idea as on Windows. Just type the Raspberry Pi IP address and log in:

Mac
I don’t own a Mac, so I didn’t test it, but it looks like several RDP clients are available in the app store.
For example, download Windows App from the App Store (formerly Microsoft Remote Desktop). Connect to your Raspberry Pi by specifying its IP address, and follow the same procedure as for Windows users once the app is installed.
You can also use RDP from an iPad or a smartphone, but it isn’t really convenient (I would rather use this).
I hope this tutorial helped you with remote access. But if you still have some questions, I give a few more answers in the next section. Until next time!
Something not working? Don't waste hours going in circles. Ask in the RaspberryTips Community and get help from people who've already figured it out. Get unstuck now.
Related Questions
Is using RDP better than VNC?
VNC and RDP are different protocols, for different uses. VNC is great for technical support, as it controls the current session, while XRDP opens a new session on the remote computer.
You might also like: 25 project ideas you can try at home with Raspberry Pi
RDP is generally used to manage a remote server. If you are the only one to use a Raspberry Pi, running 24/7 at home, it’s a great option.
Is RDP faster than VNC?
As a general rule, RDP (Remote Desktop Protocol) is more functional and slightly faster than VNC.
But keep in mind the previous answer, as RDP is not necessarily the ultimate solution. If you need to see what’s on the Raspberry Pi monitor, VNC could be a better option.
Is RDP safer than VNC?
Remote Desktop Protocol is safer than VNC because RDP supports 3 levels of encryption, securing the entire connection, while VNC is not encrypted by default.
In both cases, you can play with the options to get a similar result, but the default options are safer with RDP.
It is safe to use RDP over the Internet?
RDP sessions shouldn’t be accessible from the Internet, it’s not safe at all. If access from a remote location is required, a VPN should be configured between the two networks.
You can easily set up a VPN server on Raspberry Pi, so I would consider it if you need remote access from everywhere. Install the WireGuard or OpenVPN server on the Raspberry Pi, and the corresponding client on your computer, and you are safe. It’s not that complicated.
Related article: Raspberry Pi: OpenVPN vs WireGuard, which one is the best?
What are good RDP alternatives?
On Raspberry Pi, VNC, Teamviewer, and NoMachine are good alternatives to RDP. Each of them has different strengths and weaknesses, so make sure to learn more about them before picking one.
I have a complete article here, introducing them all and explaining how to install them:
5 Ways to Remote Desktop on Raspberry Pi (Windows/Linux/Mac)
If you don’t need a desktop environment, using SSH is probably the safest and easiest method by the way.
Not getting the same result?
Even when you follow every step, small differences in OS version, hardware or config can change the outcome. Instead of wasting time guessing, get help from people who have already fixed the same kind of issue.
- Get help on your exact issue
- Access step-by-step videos for tricky setups
- Browse the website without ads
