Linux on the Desktop, Part Two: Why I Returned

Bottom Line; Up Front

I returned to Linux on the desktop after 10 years away because problems started to creep into macOS that eroded my trust in the platform.

Why Apple?

At the end of the last post[1] I briefly covered why I chose macOS as a replacement desktop. I made an investment in the platform in terms of both time and money. Most of the applications I used were free, but I made many purchases through the App Store. A few notable applications include 1Password[2], Quiver[3], and Omnigraffle[4]. I also used Alfred[5] extensively and purchased a Powerpack license. Like many I installed Homebrew[6] to install command line tools I was accustomed to using on Linux. There is a certain amount of irony in that last sentence, but it makes more sense later on.

I was mostly content with a Mac desktop. It felt like the best of both worlds. I could use all of my favorite open source tools and had access to commercial software without resorting to virtual machines or work-alike tools. I felt more productive and after a year or two began fully embracing the platform. Everything just worked! When updates came I didn’t need to spend hours trying to figure out what change broke this application or that. It had a polished look and feel and I felt no need to tweak things. It wasn’t perfect, but it was damn close.

When Apple announced iTunes Match[7] I was hooked and went all in. I could finally keep my music library and playlists in sync with my iPhone and iPad. When coupled with iCloud I could smoothly move from device to device and continue working with little interruption. I converted my media files and documents to Apple-native formats and prepared to permanently settle in on the platform.

What Changed?

Not everything in macOS was perfect. I ran into problems in the terminal. The included terminal application was adequate, although I did install iTerm 2[8]. No, it was individual tools. Two in particular were git and rsync. The default versions, even those included with newer versions of macOS, lagged behind the most current releases found in Linux distrubutions and the BSDs. I used Homebrew to install updated versions and with that came installation of dependencies. Homebrew does a good job keeping things out of the way of the operating system, but I could see where this was leading.

No iSCSI? Denied!

Another problem was one of my own creation. I didn’t sufficiently research storage protocol support when purchasing a home NAS and I learned the hard way that macOS does not include an iSCSI driver. I was quite puzzled at the time. I ended up evaulating a couple options I found through an Internet search and settled on the globalSAN macOS iSCSI Initiator[9] from Studio Network Solutions (SNS)[10]. It wasn’t the cheapest option at $89, but it was easy to install and easier to use. The software wasn’t the problem, it was stability.

I don’t think the initiator was to blame. It may have been the NAS, but the iMac I connected to the NAS would disconnect the drives all the time. I expected that kind of behavior if the system went to sleep or was physically disconnected from the network. Sometimes I would disconnect of the screen blanked, or if there was a heavy file transfer. I moved the NAS to the same VLAN as the iMac, and that helped, but the disconnects still happened. I never contacted SNS support because the problem was intermittent and usually corrected itself. It was annoying, but tolerable. That wasn’t the only problem with the NAS.

Time Machine Killed Three Drives (Maybe)

I wanted to use Time Machine for backups. On paper, it looked great. I would use an iSCSI target as the backup location for Time Machine. Everything seemed to be working until late one night I noticed the disks were churning on the NAS. It was constant during all hours of the day and night. I disabled Time Machine and it stopped. I could never figure out what was causing the churn. I suspect it was some sort of indexing operation, but I couldn’t find anything. Volumes presented over iSCSI might not be the best choice to use with Time Machine. I don’t know. Regardless of the cause, I replaced three drives over the course of the year because they wore out. Self-inflicted for sure, but I’m suspicious of Time Machine all the same.

iCloud Sync Quietly Fails

The next strike against macOS came when iCloud stopped working on my iMac. I recently started using Bear[11] for taking notes and upgraded to the paid subscription, so I could sync using iCloud. I loved having my notes on every device. The one day I noticed notes weren’t syncing on the iMac. On two Macbook Pros, an iPhone, and an iPad sync worked as expected. What the hell broke?

I tried re-installing the application and rebooting the system (cringe). Still no syncing. I decided to give Apple Support a try. They gave me some suggestions, but at the end of three troubleshooting sessions they suggested I re-install the operating system. Anger does not begin to describe how I felt. Not at the support representative, they were professional, courteous, and thorough. I was upset that iCloud could not be ripped out and re-installed like another piece of software. It was tightly coupled to the rest of the operating system. I fought with it for another day or two before relenting. I think it was two or three hours later, and I was back on my way.

I’m not going to pretend I understand macOS system internals well. I don’t understand why iCloud is so tightly coupled to the rest of the system. I don’t like it, but it’s obviously the way Apple wants it. I think it’s terrible design and I still stew about it from time to time.

Other Unexplained Problems

My problems didn’t end with the iCloud Sync debacle. I had two memory DIMMs fail. These DIMMs were already warranty replaced once when they failed out of the box on a brand new iMac. I haven’t replaced them, and likely won’t. The system is fine with half the RAM, I can’t fully trust the integrity of the machine. I still have the “bad” DIMMs that will eventually test in another system to find out if they’re actually bad.

The final straw came with a Monterrey update that refused to install. The updater would go through the motions and reboot, but when the system came back up, the same update was still there waiting to be applied. It took another OS re-install to fix it.

I should clarify that I’m not blaming Apple for these problems. It very well could be something I did. It’s a matter of perception. I perceived the experience as degraded because I could not find suitable explanations for the faults and failures. Since I started using Linux over 20 years ago I developed a mindset that rebooting is for kernel updates and new hardware, not troubleshooting. The same goes for re-installing the operating system. I expected more from Apple, and that contributed to my exit from the platform.

The Pinebook Pro

In early 2020 a headline caught my eye about a laptop called the Pinebook Pro. There was hype about the manufacturer choosing Manjaro Linux as the default operating system choice and it was a low cost device. I did a little research and decided to place an order. The laptop arrived in late May and I can’t say I was impressed, but it seemed like a nice device for tinkering.

The default desktop was KDE Plasma, and it looked good enough. There was still something I didn’t like about Plasma, but I left it in place and started customizing my environment. I quickly noticed the touchpad was sluggish. I couldn’t make fine movements, even with sensitivity turned up to the max. It turns out this was a known issue[12] eventually fixed with a firmware update. After moving past the touchpad problem I ran into another wall: keyboard muscle memory.

kinto.sh

After ten years of using a Mac I developed muscle memory for the specific keyboard layout. Where the alt key is on a PC keyboard Mac has a key known as command. Alt is the option key and the control key is in the usual place. Common keyboard shorcuts like control+c to copy are replaced by command+c. Instead of alt+tab it’s command+tab to cycle through running programs. Out of the box Linux uses the PC keyboard layout and the same shortcuts as WIndows. I had to translate on the fly, which slowed me down and caused some frustration. I searched to see if there were any solutions and I learned about kinto.sh[13]; software that configures Mac-style shortcut keys on Linux and Windows. The installation was quick and easy and removed the friction caused by muscle memory. I could then rediscover the Linux desktop without having to fight with myself when I tried to mentally remap shortcut keys on the fly.

Linus Tech Tips Linux Challenge

One day YouTube recommended a video from the Linus Tech Tips channel[14]. It was the first video in a series focused on using Linux as a daily driver for a month. I ended up watching all videos in the series. I thought they were well done, and they made some good points, but my initial impression was that the Linux community hadn’t changed much in the ten years I’d been away. Despite the perceived negatives the series still encouraged me to explore the Linux desktop more.

System 76 Oryx Pro Review

Thanks to the YouTube recommendation algorithm I saw another video from ShortCircuit, a member of the LMG family. The host, Anthony, reviewed the System 76 Oryx Pro[15]. It wasn’t a cheap laptop, but the features impressed me. Anthony’s review of Pop!_OS was enough for me to install it in a virtual machine and a month later I placed an order with System 76 for a new laptop.

Returning to Linux on the Desktop

Within 48 hours my newly unboxed Oryx Pro displaced a nearly seven year old Macbook Pro and a 27" 2019 iMac. As I spent time installing software and customizing the default Cosmic desktop I realized everything seemed to just work. Most of the software I wanted to use was included in the default package repositories, and it was quick and easy to add additional repositories. To date I have yet to compile source to install software. After a few more days I installed a few games and found they ran flawlessly and since that day the iMac I purchased in 2019 sits mostly idle. I use it occasionally, but it is now a secondary system that I may end up selling some day.

Wrapping Up

Today I am fully settled into my Linux desktop. That isn’t to say everything is perfect. There are plenty of quirks and annoyances to work around. I’ve encountered bugs, some that remain to be fixed. Overall the experience exceeds my expectations. The Linux community added a lot of polish in the last ten years, so it was a good time to make a return. I have a lot more to say on the subject, but I’ll save that for future posts.

External Links

  1. Linux on the Desktop, Part One: Why I Left
  2. 1Password
  3. Quiver
  4. Omnigraffle
  5. Alfred
  6. Homebrew
  7. Subscribe to iTunes Match
  8. MacOS Terminal Replacement
  9. globalSAN macOS iSCSI Initiator
  10. Studio Network Solutions.
  11. Markdown Notes for iPhone, iPad, and Mac
  12. If your trackpad feels REALLY bad, check this (PSR issue)
  13. Kinto.sh: Mac-style shortcut keys for Linux & Windows
  14. Linux HATES Me – Daily Driver Challenge Pt.1
  15. The COMPLETE OPPOSITE of a MacBook - System 76 Oryx Pro