Building a Raspberry Pi desktop computer is an inexpensive project and it is a great way to learn Linux. It may also be all the desktop you need! If you are new to Linux, don’t worry. It is easy to install and configure Raspbian, Raspberry’s version of Linux. Raspbian has a Windows-like desktop that makes it easy to use too.
The Raspberry Pi is a favorite among hobbyists. They make amazing things with it, from a miniature game console to a Reddit powered plant waterer. But can it be used as a desktop computer? To find out, I built a Raspberry Pi desktop computer and installed free, open source software that performs the most common tasks of a desktop PC, and then some. Here is how I did it, step by step.
If you want to build your own Raspberry Pi desktop computer, you will need these basic components, if you don’t already have them lying around:
- Raspberry Pi 3 (+ case and AC adapter)
- micro SD card (+ SD adapter, 16 GB minimum recommended)
- USB keyboard
- USB Mouse
- Monitor with HDMI and cable (or adapter for VGA or DVI monitor)
- Wireless or USB printer
- Internet connection
If you don’t want to use the Raspberry Pi as a dedicated PC, and just want to learn and explore, you can do what I did – use your Windows PC’s monitor, keyboard, and mouse to set up your Raspberry Pi.
After I set up the Raspberry Pi, I swapped it all back to my Windows PC and installed VNC to remote into the Raspberry Pi. The setup leaves the Raspberry Pi without a keyboard, mouse, or monitor, but it runs just fine like that. Of course, you can use your existing printer like I did too.
For an operating system, I installed Raspbian on my Raspberry Pi. It is a Linux operating system that is highly optimized for the Pi.
The default installation of Raspbian will automatically install the office suite LibreOffice, the graphics program GIMP, Raspbian’s browser Epiphany, an email program, and an assortment of games.
Gmail and Outlook.com may be all you need for email if you use Google Drive or Microsoft Office Online for your office needs. In that case, all you need to use them is a web browser. But Epiphany isn’t a well-known browser, so we will install Chromium and make it the default web browser. Chromium is the Linux version of Chrome, so once we log in, all of our settings, extensions, and passwords saved in Chrome are available in Chromium.
Raspbian comes with Claws Mail. It works fine, but it is only a basic email program, so we will install Thunderbird, a full-featured email, and calendar program. Thunderbird can be configured to send and receive email from Outlook, Windows 10 Mail, Outlook.com, Gmail, and POP3/SMTP email. Thunderbird’s Lightning extension provides a calendar, and with a couple of add-ons, it can synchronize with Google, Android, and Outlook calendars.
For video, we will install VLC. It is by far, the most used open source multimedia player, VLC plays most multimedia files as well as DVDs, Audio CDs, DVDs, and streaming video.
I installed Banshee to use for a music player. It has features like playlists, libraries, and album art. It will rip audio CDs to mp3 or wma files, or it will use Brasero to burn CDs (if you install Brasero first. Of course I did just that.) Banshee will also sync music with Android and Apple devices.
I installed HP printer drivers and configured my wireless DeskJet for printing and scanning. There are hundreds of other programs available for Raspbian, but this will round out our desktop for now. So without further ado, let’s get started installing stuff!
Preparing Your Raspberry Pi Desktop Computer for Software Installation
The Raspberry Pi kit is easy to assemble. All you need to do is peel off the adhesive cover on the back of the heat sinks and press them on the top of the processors (CPU and graphics). Then snap the board into the case and connect your keyboard, mouse, and monitor.
To install the OS, you will need a formatted micro SD card. I would recommend a minimum of 16 GB in size. I used a Windows program called SD Card Formatter from SD Association, and a micro SD to SD card adapter to format my micro SD card with my Windows 10 Laptop. If your PC, Mac or Laptop doesn’t have an SD card reader, you can use a USB card reader adapter.
Once you have formatted your micro SD card, download NOOBS ( New Out Of Box Software) software installation manager from raspberrypi.org. Extract the NOOBS zip file to the micro SD card or, to a directory on your computer and copy all the files to your micro SD card.
Installing the Raspberry Pi Operating System – Raspbian
Insert your micro SD card into your Raspberry Pi, connect a USB keyboard and mouse to any USB ports on your Raspberry Pi, and connect a monitor to the HDMI port on your Raspberry Pi.
Now, connect your Raspberry Pi’s power adapter to boot up to NOOBS. The first NOOBS screen will look something like this:
Select WiFi networks and enter your wireless network settings. You can also connect the Pi to your router with an ethernet cable. When you are connected to the Internet, NOOBS will download several more software options. But for this desktop project, we will install Raspbian, so select it, and select your language and keyboard at the bottom of the screen. Click on Install. After installation, your Raspberry Pi will reboot. Login with the default user pi and password raspberry.
Customizing your desktop
The menu bar is across the top of your desktop. You access the main menu by clicking on the raspberry icon. If you would rather have the bar across the bottom, similar to Windows, right-click the bar and select “Panel Settings.” On the “Geometry” tab, under “Position,” select the bottom edge.
If the default Raspberry Pi desktop is too boring for your tastes, it is easy to change. Just right-click anywhere on the desktop and select “Desktop Preferences.” On the “Appearance Settings” window Desktop tab, the “Picture” is the wallpaper picture. Clicking on the file name will open a list of wallpaper files to choose from. You can choose any JPEG file from any folder. Of course, these are the only ones on your Raspberry Pi now:
Configure Raspbian settings
You should be prudent and change the Raspberry’s default password. From the main menu select Preferences > Raspberry Pi Configuration to change the password. Then select the Interfaces Tab, and enable VNC. While you are here, select Localisation and configure your location and time zone settings:
There are two ways to install software on your Raspberry Pi desktop computer. You can use the Add / Remove Software installer, or the command line. Most Linux programs have many files, but installing the program will install all the necessary files. In Add/Remove Software, choosing the correct program to install a software package can be confusing. It is much easier to use the command line method to install software.
Not only is it easier to use the command line to install software, but most installation instructions show only the command line method. We do the same here as well. But if you would like to see the Add / Remove Software installer, choose Preferences > Add / Remove Software from the main menu. This is a good way to see all the free software that is available for your system. The easiest way to find a program here is to enter its name in the search box and hit the Enter key (don’t click on the OK button to search.)
As you can see from above, there are several software packages associated with VLC. All of VLC’s dependencies were automatically installed when we installed it. You can see here how it might be hard to choose the right program to add. In this case, I chose to add “multimedia player and streamer.” The other files you see selected above were added automatically.
Install Chromium Browser
Open a terminal window (window icon on the menu bar) and at the prompt, run these commands one at a time:
[email protected]: ∼ $ sudo apt-get install chromium-browser
Chromium is now ready to use. There is an icon on the menu bar, as well as in the main menu at Internet > Chromium Web Browser. Linux will never make you reboot to finish installing software like Windows.
VLC is a free and open source cross-platform multimedia player that plays most multimedia files as well as DVDs, Audio CDs, DVDs, and various streaming protocols. You won’t have to download any video codecs. It plays just about anything!
To install VLC, open a terminal window and enter the command:
Brasero is a simple application to burn CDs, DVDs, and iso disc images. It also integrates with the music player Banshee to burn Audio CDs. To install Brasero, open a terminal window and enter the command:
To install our music player Banshee, open a terminal window and enter the command:
Install and configure Thunderbird
To install Thunderbird, open a terminal window and enter the command:
When the installation finishes, from the main menu, select Internet > Thunderbird. Thunderbird can take a while to open the first time. Unfortunately, Raspian doesn’t have an hourglass icon to show your computer is busy, like Windows, but the CPU indicator (the n% just before the clock) on the menu bar will show you how busy your Raspberry Pi is.
Thunderbird is incredibly easy to configure for most any email address. Just by entering three items, your name, email address, and email password, Thunderbird will figure out the rest. For step by step instructions on how to configure Thunderbird email, see:
How To Use Gmail With Thunderbird
Thunderbird can integrate your Google, Android, Outlook, or Exchange calendar. You will need to install the Add-on, Provider for Google Calendar for Thunderbird to add your Google or Android calendar. Install the Add-on, TbSync (Provider for Exchange Active Sync) to add your Outlook or Exchange calendar.
Follow the slideshow below for instructions to add your Google or Android calendar to Thunderbird:
Depending on the size of your calendar, it may take a little while to synchronize all your calendar events. Now you have a desktop email client with full two-way synchronization of email and calendar events with your Google and Android Phone email and calendars. This makes my Android calendar and reminders much more useful.
Adding your Outlook or Exchange calendar is just as easy. For Exchange, you will need the web address of your company’s Outlook Web Access server.
Install and configure printer software
Like most other modern Linux distributions, Raspbian uses CUPS (Common Unix Printing System) for printing. CUPS comes with an impressive number of printer drivers, but installing multifunction devices is challenging. CUPS works fine for printing, but Linux uses SANE (Scanner Access Now Easy) for scanning.
Fortunately, I have an HP Deskjet 3050 printer/scanner. HP’s Linux software is much easier to install. HP Linux imaging and printing – graphical user interface (hplip-gui) is the only software package I need to install. It includes printer and scanner drivers and HPLIP Toolbox. HPLIP will configure CUPS for printing and XSANE (a GUI version of SANE) for scanning. Both CUPS and HPLIP Toolbox can automatically discover and configure our printer/scanner whether it is wireless or connected to our Raspberry PI with a USB cable. But HPLIP also includes print queue management, scanning, printer status, and will show ink levels of our printer.
You can use CUPS from its web-based program, to configure printers and manage print queues. To access CUPS, on your Raspberry Pi, use your browser to go to http://localhost:631. If you don’t see your printer in CUPS, you may find Linux drivers on the manufacturer’s website. Once installed, you can use CUPS to configure them. You can find many Canon Linux drivers and software here. You can find Linux drivers and software for many of Lexmark printers, here.
Install and configure HP Deskjet printer/scanner
To install HP’s software, open a terminal window and enter the command:
Now, access HPLIP Toolbox from the main menu > Preferences > HPLIP Toolbox:
To configure your HP printer or printer/scanner, select Device/Setup from the HP Device Manager menu. On the Device Discovery window, select the connection type for your device and click on Next:
Select your device and click Next:
On the Printer Setup window, you can accept the defaults, change the printer name, or fill in the description and location. Click on Add Printer and you’re finished.
After you configure your printer, you can print to it by using File/Print from any application. HPLIP Toolbox doesn’t have to be running to print. HPLIP Toolbox will stay open in the background and show an icon on the menu bar. You can close this if you want, by clicking the icon and selecting Quit.
You can add storage for files by using a bigger micro SD card when installing Raspbian, or by adding a USB flash drive or USB hard drive later.
Linux doesn’t use drive letters. Instead it “mounts” drives in a subdirectory. Raspbian will automatically mount drives in the subdirectory media/username/devicename.
In the folders you see below, my 500 GB Western Digital Passport USB drive is mounted in the folder MyPassport. The UUI folder is where my 8GB SanDisk USB flash drive is mounted. The SETTINGS and DBR_BOOT folders are system folders. The Free and Total space at the bottom of the window is space on the microSD card.
It’s an odd concept when you are accustomed to Windows and drive letters. If it helps – just like drive letters, the subdirectories where drives are mounted, are only pointers to the drives’ partitions. If we open MyPassport, you would see its contents and total space of around 456 GB or so:
Using VNC to remote control the Raspberry Pi desktop
As I mentioned before, your Raspberry Pi desktop can run without a keyboard, mouse, and monitor. You can use any computer that has Chrome to remotely control it. All you need is the VNC Viewer extension for Chrome. After you install the extension, you can find VNC Viewer by using Chrome’s address bar to go to chrome://apps/.
You will need to enter your Raspberry Pi desktop computer’s IP address to start a VNC remote session. To find it, open a terminal window, type “ifconfig” ” at the prompt, and hit Enter. If your Raspberry Pi is connected to the Internet with WiFi, your address will be the wlan0 inet addr. If connected by an ethernet cable, your address will be the eth0 inet addr.
You now have a well-equipped Raspberry Pi desktop computer. All the software we installed is free, but it is full featured and capable software. I think you will be surprised what this little computer is capable of. Let me know what you think, in the comments below.