Raspberry “PiMac”

In 2008 my wife and I purchased our first (and only) computer made by Apple — an iMac. It was a significant investment at the time, our goal being to get at least six years of use out of it. It has served us well as our family desktop, and I am happy to report that even thirteen years later, our iMac is still trucking along.

I wrote a while ago about breathing new life into this iMac (here, here, and here, if you're so interested), and I'm pleased to report that our iMac is now better than ever, thanks to Raspberry Pi Desktop for PC and Mac (also known as Debian with Raspberry Pi Desktop). What exactly is this operating system with an incredibly long name? It is a Linux distro based on Debian with the Raspberry Pi's desktop environment. (This is not actually the operating system that is typically installed on the Raspberry Pi devices (Raspberry Pi OS), but Debian with Raspberry Pi Desktop and Raspberry Pi OS are incredibly similar.)

While I have long been familiar with the Raspberry Pi (I have one running Retro Pi), I wish I had known about this option to revive older hardware sooner. Debian with Raspberry Pi Desktop is fast and reliable, and it has made our iMac a truly usable machine for day-to-day computing tasks. Before I found this operating system, I thought our iMac was not too much longer for this world. macOS was clearly no longer an option, given the general lack of support and the system resources needed to run even non-supported versions of macOS. ChromeOS (Cloudready) had a lot of bugs, including extremely slow network speeds. I could barely get 10 mbps over Wifi. Ubuntu worked well, but in its standard form using the Gnome desktop environment, it was very resource intensive. Even lighter desktop environments like XFCE, while a little better, were still taxing. That said, Debian with Raspberry Pi Desktop uses a minimal amount of RAM, and as such, it is really fast. I also think the UI looks great.

Installation on the iMac was very straight forward, and the graphical installer worked as advertised. Unlike vanilla Debian, Debian with Raspberry Pi Desktop comes with all of the necessary drivers (i.e. non-free repos enabled) out of the box, including WiFi, that allow the iMac to function correctly. So far, other than a slight popping sound with audio on occassion, I have not experiened any deal breaking glitches. Wifi works well. I can consistently get 120 mbps down (testing using fast.com) via Google Wifi and my 200 mbps Spectrum internet connection.

Debian with Raspberry Pi Desktop comes with all of the software out of the box that I need to get most things done. It comes with the Chromium web browser, a decent file manager, VLC media player, a decent text editor, a PDF viewer, the full Libre Office suite, and a number of different IDEs. I actually prefer Geany since it is so lightweight. Beyond that, there was not much additionally in terms of productivity apps that I needed to install. I installed a screenshot tool (Gnome Screenshots), Firefox ESR (for browser choice) and GIMP, which is a Photoshop alternative. All were in the standard Debian repos. As a side note, GIMP opens extremely fast.

There are a few defaults that the Raspberry Pi Foundation for whatever reason decided upon that go against basic security best practice, and those really need to be changed right out of the gate. The first involves the use of the sudo command. Sudo, which stands for “super user do” allows you to run commands that require elevated privileges (i.e. root) with your non-elevated account. Security best practice is that a password is required when issuing sudo commands. On Debian with Raspberry Pi Desktop, when you initially boot up after install, the operating system prompts you to change the password for default user account, “pi”. This is a good thing, as you definitely don't want to be running a system with a known default password. However, when using sudo, the Raspberry Pi folks have opted to not require the user's password. To change this, you can do the following:

First, open the file manager and navigate to the following folder: /etc/sudoers.d. Next, click “Tools” in the file manager's menu bar and click “Open Current Folder in Terminal”. In the terminal, type the ls command and hit enter. This simply lists the names of all the files in the folder, and I wanted to be sure that I typed the file name correctly for the next step. Next, run the following command: sudo rm /etc/sudoers.d/010_pi-nopasswd. What this does is remove the file “010-pi-nopasswd” from the “/etc/sudoers.d” folder. Lastly, reboot the system. I'm not sure if this is a requirement, as I just did it for good measure. Once you have rebooted, you should see that you now have to type your password when issuing sudo commands.

The other thing that the folks at the Raspberry Pi Foundation did not do was install a software firewall. This is also an easy fix, as UFW (Uncomplicated Firewall) does the trick. To install UFW, simply pop open the Terminal and type the following command: sudo apt install ufw and hit enter. Next, type in your password, and UFW will download and install. After install, typing sudo ufw status into the terminal will show the status of the firewall. It will be “inactive”. As such, run the following command: sudo ufw enable. This turns on the software firewall and enables the defaults: Status: active; Logging: on (low); Default: deny (incoming), allow (outgoing), disabled (routed); New profiles: skip. Lastly, if you want a GUI to manage the firewall, you can download and install GUFW as follows: sudo apt install gufw. You'll find it in the Pi menu under “Preferences” —> “Firewall Configuration”. Keep in mind, that the default configuration only denies incoming traffic. If your threat model concerns ensuring that unauthorized outbound traffic is denied, you'll need to configure UFW further.

I am really happy with the setup on our iMac now, and I plan to keep using this setup until the iMac's hardware finally dies. (It's still on the original hard drive and aside from adding some RAM, everything is original.) I cannot believe how fast this thing is now. There are a few quirks that annoy me, such as the fact that Netflix does not work in Chromium or Firefox ESR. However, since I'm not really using this machine to watch Netflix, it is not a deal breaker.

Table of Contents