17 Best Apps to Use a Raspberry Pi as a Desktop PC
Finding good apps that work on Raspberry Pi is important if you plan on using it as a replacement for your desktop computer.
I used my Raspberry Pi as a desktop PC for two days prior to writing this article.
This article explains which apps I found useful when replacing your main computer with a Raspberry Pi.
Category | Best application |
---|---|
Email client | Thunderbird |
Graphics | MyPaint |
Development | Visual Studio Code |
Web browser | Vivaldi |
Office | LibreOffice |
Console | Terminator |
Printers management | CUPS |
Movies | VLC |
Music | QMMP |
Instant messaging | Empathy |
This list was created according to my needs after two days of using a Raspberry Pi as a desktop computer.
You might know some of these apps already, but I’ll introduce each with a picture and a short description explaining why you need it on your Raspberry Pi
I have written a complete tutorial on how to install new apps on Raspberry Pi, feel free to read it first, especially if the apps you are interested in aren’t available with traditional methods.
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.
Synaptic
Synaptic is the Debian package manager. It will help you find and install new software on your Raspberry Pi.
It’s equivalent to the default “Add/Remove Software” with more features.
You can see all Raspberry Pi OS packages on one page, browse by categories or search for specific words.
And mainly you’ll get all menus on the top bar, a thing that we don’t have on the default software.
It allows you to add repositories, customize the tool, or to use a script to download packages automatically from a previous installation.
If you always use the apt-get command to manage your packages, you don’t need this tool. However, for desktop usage of the Raspberry Pi I will give you mainly graphical software.
Before installing any apps, make sure you are using a fast SD card with enough space to keep everything. I don’t know about you, but I hate having to start all over again because I didn’t choose my materials. If you are not sure if your SD card is good enough, you can check my benchmark of the best SD cards here. I have compared them all, and I give you the best recommendation.
Note: If you want to see all these steps in action, I have a video lesson available for the community members. You can join here and watch it directly if you are interested (with 20+ other lessons for Raspberry Pi and many other benefits).
XFCE4
The old-school default desktop environment was not for me.
If I have to use the Raspberry Pi as my computer, I’ll install a better interface.
I have chosen XFCE4, but depending on your needs, other possibilities exist.
I think XFCE4 is a good balance between performances and design, so I start with this one.
You’ll get the applications menu on the top left (I like that) and a dock with the main shortcuts at the bottom of the screen (you can customize it as you want).
The installation process is not natural, so I’ll give you all the steps:
- Firstly, you need to install xfce4 and xfce4-all packages.
You can use your packages manager to do this (synaptic or the default one), but here is the apt command to do the same:sudo apt install xfce4
- Then you have to set XFCE as the default desktop environment.
Open a terminal and type this command:sudo update-alternatives --config x-session-manager
You’ll get a result like this:
- If you get the same, enter the xfce4-session ID (6 in my case).
This command will set XFCE as the default desktop environment on the next boot.
You can use this tool again to come back to LXDE as default if you don’t like XFCE. - Reboot your Raspberry Pi and give a try.
It’ll start directly on XFCE4. - Check that everything is fine.
On my screenshot I have changed default colors, you can do this in the Applications menu > Settings > Appearance. - If you want to stay on this desktop environment, you can uninstall the default one to free space on your SD card if needed:
sudo apt remove lxappearance lxde lxde-* lxinput lxmenu-data lxpanel lxpolkit lxrandr lxsession* lxsession lxshortcut lxtask lxterminal sudo apt-get install pistore
sudo apt autoremove
sudo apt autoclean
sudo reboot
If you prefer another desktop environment, have in mind that the Raspberry Pi is not a powerful computer.
As we’ll see in conclusion, you may have performances issue, so choose what you want, but prefer a light environment.
Anyway, you can check my tutorial here on how to install any desktop environment on Raspberry Pi if you want to try other ones.
Guake Terminal
Guake is a terminal that works like any terminal.
But you can call it with a key, and hit hide with the same key.
So if you hit F12 the drop-down terminal comes in the foreground, if you hit F12 again the terminal disappears (but keeps running).
It’s okay to let something run behind, like an error log display of real-time information.
I often use this to display htop in Guake (process list and system load).
Every time I had slow performance, I just hit F12, and hop, htop appeared (Don’t know what htop is? Check my command cheat sheet here).
This tool is particularly useful on a Raspberry Pi when you don’t always have a good mouse.
Usually, I have a good Bluetooth keyboard (see my recommended products page), but it’s a tactile mouse on it, which is not the best to browse the menu and find the terminal.
So Guake helps me a lot with this.
I didn’t say it, but you have to start it first in the Applications menu > Accessories > Guake terminal.
Guake will run in the background until you call it with F12.
You can also click on the system tray icon to open it.
Terminator
Terminator is a multiple terminals manager that allows you to add and close terminals in a grid.
Guake is good for one command running behind, but Terminator is useful during active work.
For example, if you install WordPress on your Raspberry Pi (or wherever), you can have a window displaying logs, one in the Apache folder for the configuration and another in the www folder for WordPress configuration.
Rather than switch seamlessly between windows, Terminator allows you to display them all simultaneously.
You can split windows, close them or add a new one. You can also resize any windows.
Simultaneous typing is also possible, as well as grid export.
If you are lost in all these new words and abbreviations, request my free Raspberry Pi glossary here (PDF format)!
Download now
It’s a great tool on Linux. I often use it for complicated things.
If you master the commands that any Raspberry Pi users should know (check my shortlist here), you’ll love this tool.
Vivaldi
Vivaldi is a good web browser, fully compatible with your Raspberry Pi.
I’ll introduce this one because you probably already know the alternatives: Chromium and Firefox.
This browser is developed by Vivaldi Technologies, a company created by the former CEO and co-founder of Opera.
So if you are familiar with the Opera browser, you’ll not be lost with Vivaldi, they have kept the favorite features from Opera.
Ok, but why should I install Vivaldi rather than Chromium or Firefox?
It’s a good question. I can’t make this choice.
It will depend on your needs and habits.
On my first test, Vivaldi seemed quicker than Chromium or Firefox, so I used it for a few hours.
But in the end, I re-compared everything, and it wasn’t so obvious.
Anyway, I think you can use the browser you want. They all have similar features.
And most of the time, I think you will keep the one that you usually use.
If I had used the Raspberry Pi as my computer longer, I would have taken the browser that I have all my preferences saved in the cloud (bookmarks, extensions, passwords, …).
Note: To install it on your Raspberry Pi, you can get the package here (choose Linux ARM 32 bits).
If you really want the “best” web browser for you, you should read this article, where I compare all of them. I tested them all and share with you my recommendation. There is no perfect solution for anyone, it depends on what you need.
Thunderbird
I’m not a big fan of email clients.
I usually prefer webmail like Gmail or Outlook.com.
But if you want to use your Raspberry Pi as your desktop PC, you may need one.
Thunderbird is one of the best email clients on Linux and is available on Raspberry Pi OS.
You can use it with any email provider (POP/IMAP) and also manage other feeds on it like RSS or newsgroups.
By default, there is an integrated calendar, and you can add many extensions that are downloadable on this website.
Don’t forget that you work on an SD card, so if you have an account with 30G of emails, you’ll quickly run out of space.
Try to use IMAP if possible and sync only the most essential folders on your Raspberry Pi.
By the way, a Raspberry Pi can also host your email server, check my tutorial here if you are interested in this project.
Empathy
Empathy is a chat client for the main chat services on the web (Facebook, Google, Jabber, …).
It’s a tool similar to Pidgin, Trillian, or Franz Messenger.
You add every account you want on your usual services and can chat with everyone in the same software.
I like Empathy because it’s a light app and well-integrated with Raspberry Pi OS.
Appearance and notifications are fine, whatever your desktop environment.
If you use services not listed in the default Empathy selection, try to search the community for additional plugins.
Or maybe you can use another software like Pidgin.
For video conferences, you can also install Zoom on Raspberry Pi. I explain everything in this post.
Filezilla
Filezilla is a well-known FTP client, but that’s not all
As with any file transfer client, you’ll have a source repository on the left (you generally), and the destination server on the right (another computer or server in your network, or on the Internet).
You can manage connections in the site manager.
And then you can transfer files with a drag and drop them into the other side.
On the site manager, you can choose between FTP, SFTP and Storj protocols.
SFTP is particularly useful in Raspberry Pi or Linux environments.
You can connect to another Raspberry Pi, or from your computer to the Raspberry Pi with FileZilla.
That’s how I got all the screenshots of this article :).
In the advanced settings, you can manage cool things like default actions on transfer, concurrent transfers, or speed limits.
Alternatives: 5 Best Free FTP Clients For Ubuntu In 2023 (Tested & ranked)
Deluge
Deluge is a tool to download torrents on your Raspberry Pi.
Torrent is a protocol to download files.
It’s not illegal if you download files legally.
For example, Raspberry Pi OS images are available for torrent download, and often it’s faster than HTTP download.
I like Deluge because it’s a simple app at first look, but with many hidden options.
So for beginners, just grab your .torrent file and open it in Deluge. The download will start. Done.
For others, you’ll find a ton of features in the app menu, like a web interface or a console manager.
Deluge and Raspberry are an exciting couple.
If you have many files to download (or big files), you can manage this with your Raspberry Pi, stop your usual computer, go to sleep and get all files downloaded in the morning.
This way you’ll save energy. And the web interface will be great for that.
VLC
I think that everyone knows VLC, but I have to put it on this list.
VLC is an open-source media player, available on most platforms, including Raspberry Pi.
Take a media file (.mkv, .avi, .mp3/4, …) and open it with VLC.
Most of the time it’ll work, no codecs issues as it can read almost anything.
Then, it’s a classic media player, with all needed options, I don’t have much to add.
Also: No screen? No problem! Here's how to setup a Pi without one.
If you are lost in all these new words and abbreviations, request my free Raspberry Pi glossary here (PDF format)!
Download now
If you are using your Raspberry Pi mostly as a media center, a better solution like Kodi might be considered. You can learn more about Kodi on this page. You can access YouTube, Netflix, and other streaming services by installing a few plugins (list here).
QMMP
I don’t really like all the default music players in any Linux distribution.
I find that apps like Audacious, Amarok, or Rhythmbox have an old-school look and take a lot of space on the screen.
QMMP does just what we need: play music, with playlist management and equalizer options.
It has a similar look to Winamp for those who know.
You can close any section window if you don’t use it.
It’s a lightweight app for the Raspberry Pi, which works fine and is available on the default repository.
What more?
If the main usage of your Raspberry Pi is a music player, I would recommend taking a look at these other options I have tested here.
MyPaint
I don’t like GIMP at all.
Generally, I use Photoshop (with Windows or Wine) or Krita (on my Ubuntu computer).
I use these tools to make quick modifications to pictures like adding text, resizing, or cropping.
And with GIMP, every time I tried, I lost a lot of time with its dumb interface :).
So on Linux, I usually install Krita to do this, which is an excellent tool for these kinds of small edits.
But Krita isn’t available on Raspberry Pi OS, so I have to find another tool.
I found MyPaint, which seems to do what I want.
In a small interface, you’ll get all the needed stuff in the main toolbar.
Anyway, on hardware like the Raspberry Pi, there is no way to install Photoshop or Wine, so you will have to deal with basic software.
LibreOffice
LibreOffice is almost the only decent alternative to Microsoft Office on Linux.
I’m not familiar with Office 365. If you have an account, maybe you can use the online version on your Raspberry Pi.
But if you are looking for installed software, LibreOffice will do the job.
LibreOffice is an entire suite of tools, like the Microsoft one:
- Microsoft Word => LibreOffice Writer
- Microsoft Excel => LibreOffice Calc
- Microsoft Powerpoint => LibreOffice Impress
The interface changes a bit, but globally you should quickly find the main tools on LibreOffice.
By default, new files are saved into an OpenDocument format, with a .odt or .ods extension for example.
But you can choose to save it as .doc or .xls to keep compatibility with another computer if needed (you can also install LibreOffice on any other computer if you want).
Zim
I used to recommend CherryTree to take notes with a desktop app, but it’s more complicated to install it (it’s no longer available in the repository) and Zim is now a great option.
Obviously, it’s only useful if you want to avoid using online tools like OneNote, Evernote, Google Keep, or other alternatives. I tend to prefer them as it’s all synced with my other computers, phone, and tablet. But it’s your choice, I understand that you might prefer to keep your data away from these giant companies :).
Anyway, Zim does an impressive job at this, you can create unlimited pages and subpages, all the formatting is available as with other similar tools. The only thing I haven’t found is how to resize images, maybe it’s possible, if not, you may have to use a tool like “MyPaint” first.
HomeBank
And the last Microsoft Office tool alternative we don’t see is Money.
Homebank is a light tool to manage your bank accounts.
I didn’t use it a ton over two days, but it seemed to work fine.
This tool allows you to analyze your personal finance and budget, with a nice interface, including charts.
Most of the time it’s possible to export data from your bank interface and upload it into HomeBank.
Then you can categorize each transaction, add notes, make your bank reconciliation, etc.
Your data is easy to export, so it won’t be lost.
You can re-import it into any tool of this kind (like GnuCash for example).
HomeBank is also available on Windows, so even if you change your operating system you can keep this app.
CUPS
Printing stuff on Linux has always been complicated, but this tool can help you 🙂
CUPS is a web interface to manage printers.
You can add a printer on the network or a USB plug.
A list of drivers is already built-in and you can add more if needed.
This app will allow you to install a new printer with a few steps on a web interface rather than using a non-intuitive interface or using obscure commands.
You’ll even be able to share your printers on your network, even if it’s an old dumb printer without a network port.
Once cups is installed, go to http://localhost:631 to use the interface.
The default login is pi and the password is the same as your current system password.
All the configuration is in /etc/cups/cupsd.conf if you need to change something.
If you want to learn more about CUPS, I have a detailed tutorial available here.
Microsoft Visual Studio Code
Yes, it’s Microsoft, but it’s still a good tool :).
I often do code for work or projects at home, and recently I switched from Sublime Text to VS Code for both.
It’s free, with most of the same features as Sublime Text and the ability to add plugins to do everything (direct Git or SVN management, PHP autocomplete with functions parameters tooltip, …).
The Raspberry Pi great for programming, and if you only need basic features, Geany is already installed by default and will do the job.
I used it at work for over a year without problems, so it must be enough for home projects :).
So, I needed to install Visual Studio Code on my Raspberry Pi during my two-day test to use it as my primary desktop PC.It’s possible, but you need to build it from source, so I’ll give you the step-by-step process here
Visual Studio Code is now available directly in the “Recommended Software” tool. You can install it easily now, no need to install it from sources or a random GitHub project.
After the installation, you’ll find the shortcut in the main menu, under “Programming”.
Visual Studio Code is not the only option. You can find my top text editors in this article. And I also have dedicated blog posts for PyCharm and Geany if you want to learn a few tips about them.
It's a free PDF guide containing every Raspberry Pi Linux command you should know!
Download now
Need more?
Maybe these apps were too obvious to you, here is a video where I introduced 21 other apps that most people don’t know!
It's a free PDF guide containing every Raspberry Pi Linux command you should know!
Download now
If you are looking for exclusive tutorials, I post a new course each month, available for premium members only. Join the community to get access to all of them right now!
Final thoughts
My two-day test using my Raspberry Pi as my primary computer ended with a mixed opinion.
On one hand, I confirmed that it’s possible to use a Raspberry Pi as a desktop PC.
On the other hand, everything is very slow, and overall the Raspberry Pi was only useful for a single task (even multi-tab browsing was a pain).
So yes, you can give a Raspberry Pi to a kid or someone who doesn’t often need a computer.
I think for example for parents or grandparents. If they check their emails once or twice a week, they don’t need a $500 computer to do this, a Raspberry Pi can be useful and save money.
Also, they usually don’t have the habit of more powerful computers, so “slowness” will not be a problem for them.
But for me, I’m pleased to go back to my latest generation pc!
I hope this post will help you to get an honest review of the Raspberry Pi and some ideas for apps to use on it.
By the way, Raspberry Pi Imager is also a great app you can install on your Raspberry Pi, especially if you don’t have a computer (click the link to read my tutorial about it).
- Can a Raspberry Pi 4 really Replace your Desktop PC? (I Tried)
- How to Easily Create Desktop Shortcuts on Raspberry Pi OS?
- How to change desktop appearance on Raspberry Pi?
Feel free to comment if you know other good apps you want to share with us
Whenever you’re ready, here are other ways I can help you:
The RaspberryTips Community: If you want to hang out with me and other Raspberry Pi fans, you can join the community. I share exclusive tutorials and behind-the-scenes content there. Premium members can also visit the website without ads.
Master your Raspberry Pi in 30 days: If you are looking for the best tips to become an expert on Raspberry Pi, this book is for you. Learn useful Linux skills and practice multiple projects with step-by-step guides.
The Raspberry Pi Bootcamp: Understand everything about the Raspberry Pi, stop searching for help all the time, and finally enjoy completing your projects.
Master Python on Raspberry Pi: Create, understand, and improve any Python script for your Raspberry Pi. Learn the essentials step-by-step without losing time understanding useless concepts.
You can also find all my recommendations for tools and hardware on this page.
I found this insightful (especially the applications and how to install them), but sadly, there’s a lack of crucial information or I’m failing to spot it — what model of the Raspberry was used? How fast is the micro SD?
If you use a bad SD card with very low read/write speeds, I assume the system will perform poorly. Think on the swap area for the memory, for a start, or the browser cache. A card that runs with 100MB/s is evidently (up to) 5 times faster than a card with a maximum of 20MB/s.
Given that this site was apparently started in 2018, I guess you used a recent Raspberry model.
Hi Qwen,
It was on a Raspberry Pi 3B+ with a fast SD card
But the swap can be an idea if someone experiences the same thing
Thanks
The Visual Studio code app is not in the menus after install
Technical Scientist – VSC appears as ‘Code – OSS (headmelted)’ in the menus.
The rPi4 changes the game a little. I have the new rPi4 4gb version and can confirm it performs a lot faster than any of the previous versions. It can definitely be considered as a cheap alternative for a desktop. I moved Raspbian onto a 120gb external SSD attached to one the rPi4’s USB 3 ports and it is super fast.
Thanks for this comment Grant
And yes, good news for Raspberry Pi 4
I’ll probably update this post for RPI 4 soon
Could you tell me how to install the mate environment on raspbian os?
Hello Zac,
I didn’t try it to be sure, but probably something like:
sudo apt install mate-desktop
sudo update-alternatives --config x-session-manager
Then select Mate in the list and reboot
sudo reboot
Before installing Visual Studio Code, you should install the GPG key, otherwise you will get errors while installing or updating.
wget -qO – https://packagecloud.io/headmelted/codebuilds/gpgkey | sudo apt-key add –
Thanks for the tip!
A little late to the game, but the reviews in this column are great! Thanks for those, Patrick.
Want to note that the RasPi4 is a game-changer for me. The increase in capability from the 3B+ to the RasPi4 is noteworthy. For people who like eye-candy, have found the Compiz effects to work nearly as flawlessly as on my Fedora 30 desktop and laptop. Will be watching to see what you think of the RasPi. Cheers!
Hi Gil,
Thanks for your comment
Good idea, I never tried Compiz on Raspberry Pi 🙂
Vivaldi does not appear to work with Rpi4 . I have tried many times. Also how would you remove
Chromium (Media Edition) from the internet tag in the header?
Hi,
I successfully installed Krita on my Raspberry PI4b.
Here a tutorial and infos:
https://www.youtube.com/watch?v=4PiE5vKrrNQ
🙂
Good news 🙂
Audacious to big? Click on Settings and change the interface from default GTK Interface to Winamp Classic – looks the same as QMMP.
Thanks Richard for the information
Hello,
I just updated a few things here, and saw that Cherrytree is no longer available in the repository
Do you know any (modern) alternative that works well on Raspberry Pi OS?
I will probably try a more advanced test with my Raspberry Pi 4 (or 5 ^^) in the next months
can this work on a pi zero w?
Hi Muhammad,
Yes, it should work on Pi Zero, but it can be very slow
The Pi Zero is absolutely not the perfect model for desktop usage
A Pi 3B+ or 4 will be better
pls, the steps for NOOBS, are they the same
Hi,
I’m not sure to understand, I don’t write about Raspbian installation here
But if you prefer to install it with NOOBS, you can check this post for more details: https://raspberrytips.com/raspberry-pi-dual-boot/
Basically the NOOBS installation is straightforward, disable the image and flash it with Etcher. A setup menu will help you to install Raspbian.
If you already have Raspbian installed with NOOBS, you can start directly to follow this tutorial, it doesn’t change anything
What a great write up! Thank you for such a comprehensive list, and with pictures 🙂
Great article! Just used this to get some of this software installed on my Pi 400 (overclocked to 2.1 Ghz). I can say for certain that this is the game changer. Raspberry Pi 4 built into a keyboard, and the kit comes with a mouse (you can use any mouse). I’m using this as my main system, along with Synergy (https://symless.com/synergy) to share the mouse and keyboard with two other more powerful laptops (my personal rig, and my work laptop). Thanks again for the great article!
Hmm Anyone else running dual Samsung evo 970 pro pcie in a Sata adapter to their raspberry pi 4 8gb and I got a crucial mx500 500gb SSD with Linux Raspbian, also have my Crucial multi booted with the rest of the Linux systems, was a pain but got it.
I have 3 Monitors hooked to my Pi4 with a 1 TB SSD drive booting the whole thing up!
If you’re wondering how a 3rd monitor can go into a Pi. ( Can probably hook 4 or 5 monitors?) But. I purchased a USB Video adapter, that connects to the port on the back of a monitor. and BOOM. sees it. No 3rd party software.
Can you be more specific with your setup
Thanks