Finding good apps that work on Raspberry Pi is important if you want to use it to replace your desktop computer.
I used my Raspberry Pi as a desktop PC during two days before writing this article.
It explains to you which apps I’ve found useful to replace 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 use of the Raspberry Pi as a desktop computer.
Maybe you already know some of them, but I’ll introduce every app with a picture and a short description, explaining why you need it on your Raspberry Pi
By the way, if you are really interested in improving your skills on Raspberry Pi, I highly recommend to check out my e-book here. It’s a 30-days challenge from beginner to master, with step-by-step tutorials and many projects to practice along the way.
Introduction
A quick reminder before starting the list, you have two ways to install software on Raspbian:
- Either in the command line:
sudo apt-get install <package-name>
You need to replace <package-name> with the software name, most of the time it’ll be the paragraph’s title
If you don’t find it, you can do a package search with this command:sudo apt-cache search <search-string>
It’ll display all packages name matching your search string - Or with the package manager:
- Go into the Applications menu
- Open the System submenu
- Click on Add/Remove software
- In the window that opens you have two possibilities:
- Either use the search tool on the top left to find a package
- Or use the category browser to list all apps from a category
- Once you have found your package, check the box next to the package name and click the Apply button in the bottom
For some apps, they are not available in these packages list, so I’ll give you the installation procedure step by step
And the first app of this list in an alternative desktop manager you can use to install the other apps
System
Synaptic

Synaptic is the Debian package manager. It will help you find and install new software on your Raspberry Pi
It’s an equivalent to the default “Add/Remove Software” with more features
You can see all Raspbian packages on one page, browse by categories or search for a specific word
And mainly you’ll get all menus on the top bar, a thing that we don’t have on the default software
It will allow 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, but for desktop usage of the Raspberry Pi I will give you mainly graphical software
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 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-get 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-get remove lxappearance lxde lxde-* lxinput lxmenu-data lxpanel lxpolkit lxrandr lxsession* lxsession lxshortcut lxtask lxterminal sudo apt-get install pistore
sudo apt-get autoremove
sudo apt-get 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.
Guake Terminal

Guake is a terminal which 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 come in the foreground, if you hit F12 again the terminal disappears (but keeps running)
It’s perfect to let something run behind, like an error log display of a 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
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, not the best to browse the menu and find the terminal
So Guake help me a lot for 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 resize any windows
Simultaneous typing is also possible, as well as grid export
It’s a great tool on Linux. I often use it for complicated things
Internet
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 use it for some hours
But at 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 on which I have all my preferences saved in the cloud (bookmarks, extensions, passwords, …)
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 Raspbian
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, 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 get out of space 🙂
Try to use IMAP if possible and sync only the most essential folders on your Raspberry Pi
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 Raspbian
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
Filezilla

Filezilla is a well-known FTP client, but that’s not all
As any file transfer client, you’ll get on the left the source repository (you generally), and on the right the destination server (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 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
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, Raspbian 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 is 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.
Multimedia
VLC

I think that everyone knows VLC, but I have to put it on this list
VLC is an open source media player, available in most of the platforms, and so on 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 mostly anything
Then, it’s a classic media player, with all needed options, I don’t have much to add
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 look close 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?
MyPaint

I don’t like GIMP at all
Generally, I’m using Photoshop (with Windows or Wine) or Krita (on my Ubuntu computer)
I use this tools to make quick modifications on pictures like adding text, resizing or cropping
And with GIMP, every time I tried it, I lost a lot of time with this dumb interface 🙂
So on Linux, I usually install Krita to do this, which is an excellent tool for this kind of small edit
But Krita isn’t available on Raspbian, 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 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
Office
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)
Cherrytree

With a perfect name to run on a Raspberry Pi, Cherrytree is the ideal alternative to Microsoft One Note on Linux
And it runs smoothly on Raspberry Pi.
This app allows you to take notes of everything, create nodes and subnodes to organize them, add images or code in your notes, use all usual font formatting tools and more
You can export your files to back up them or import them into another tool
If you are still unsure, know that you can also import archives from another tool like Zim or KeepNote
Try it without risking anything, and see if it fit your needs 🙂
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 deeply for just two days, but it seems 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 will never 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 USB plugged
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 installed, go to http://localhost:631 to use the interface
The default login is pi and 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
Development
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 mostly 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, …)
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 days test to use it as my primary desktop PCIt’s possible, but you need to build it from source, so I’ll give you the step-by-step process here
In fact, after losing an hour trying to build in from source, jumping from issue to issue, fixing packages versions and Raspberry Pi paths, I found another way to install it
The process is more straightforward than expected
- Download the script
wget https://code.headmelted.com/installers/apt.sh
- Change permissions
chmod +x apt.sh
- Run it
sudo ./apt.sh
In my case, everything works fine, but at the end, I had an apt issue about unsecured packages I fix in the next step - Fix installation
sudo apt-get install code-oss -y – allow-unauthenticated
And it should be ok.
You’ll find the app “Code – OSS” in the Applications Menu > Development
As I made all the prerequisites to build it from source before running this script, I hope it will also work for you
Ask me in comments if you are stuck somewhere
Source: HeadMelted
Conclusion
My test of two days using my Raspberry Pi as my primary computer ends 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 the 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 to 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
Feel free to comment if you know other good apps you want to share with us
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.