elementary OS is a Linux-based operating system built on top of Ubuntu with its own custom desktop environment named Pantheon. elementary bills itself as a “fast and open replacement for Windows and macOS.”
About three years ago, I tried elementary OS on a USB stick and was impressed, but never adopted it fully. I decided to revisit the operating system. This time, however, I decided I would dual boot my MacBook Air and really commit to using elementary OS (0.4.1 Loki). I wanted to see how well it stacks up to the claim of replacing macOS.
So far, I have mostly been enjoying my transition to elementary OS. I have been using it fairly consistently save for a few hours each week doing iOS development for one of my clients.
The following are a few of my takeaways after three weeks of using elementary OS. Here we go!
Selecting Elementary OS
The simplicity of the user interface is familiar and one of the reasons I was drawn to elementary OS as a Linux distribution in the first place. There is no bloat, or at least not any bloat that feels like I am being sold to (ala Amazon in Ubuntu). Another thing that drew me to Linux and elementary OS is that I wanted to start supporting free software and the best way to do that is to use it (actually, the best way to do that might be by making a pull-request, but I digress).
The AppCenter (elementary’s version of the App Store) has a lot of apps to offer, but you should probably prepare to learn how to install apps from the command line in Terminal. Some of the best apps to tweak the experience of elementary are not available in AppCenter including Redshift (to adjust the color temperature of your display in the evenings) and libinput-gestures (to add multi-touch support for computers with multi-touch capable trackpads).
The email application works well enough. I am able to use my iCloud account and everything syncs well. I did notice that when I receive a new email notification and move to tap on the notification to pull up the email, the tap seems to only mark the message as read in the background rather than bringing it to the foreground. That is frustrating. Also, for the first several days I was hitting the forward button thinking it was the reply button and wondering why it was not populating the To field. Perhaps I just need to retrain myself for the different user interface or perhaps there is an opportunity to make these buttons more clear.
The Calendar app is spartan, which is not necessarily a bad thing. I was able to get my iCloud calendars synced via WebDav using magic and this tutorial. I will say setting this up is not for the faint of heart. It requires using the web inspector in your favorite browser.
I freakin’ love Slingshot (the quick launcher). Spotlight is something I use all the time in macOS and I’m thankful for similar functionality here. It would be cool if it indexed my emails, contacts, etc as well, but it does do calculations which is something I use frequently. It would be great if it defined words, too.
In macOS I was pretty committed to using Safari. The user interface was minimal and being based on Webkit, I was able to use it for development and cover most of the user-base for the web applications I develop on.
I only really used Chrome and Firefox for testing. The user interface for Firefox always seemed bloated and clunky.
For my experience with elementary, I initially used Epiphany, but then switched to Chrome as Netflix doesn’t support Epiphany. However, scrolling in Chromium and Chrome is complete garbage as it does not support velocity-style throwing/scrolling of the page.
Now I am using Firefox as my daily browser in elementary.
The velocity scrolling works well in Epiphany and well enough in Firefox.
Dragging images from the browser to the desktop does not work because there is no file system that represents the desktop. Trying to work around this by adding the downloads folder to the dock and dragging images into there did not work either.
The native app for Slack works well.
I do contracting on UpWork and I use the UpWork native app which works OK at best. It should utilize the notification bar to notify me when my timer is on the same way Slack notifies me when I have a new message. Obviously this is not an elementary OS issue, but an UpWork issue.
I use Harvest to track my time and the only option for that on Linux is to use a browser plugin. It is a friction point as I can’t pause my timer. I instead have to recreate the timer for the task I am on. Which might be good for me as it forces me to get more granular about what I am currently working on. Again, this is not an elementary OS issue, but a Harvest issue.
Multi-touch gestures barely work out of the box in elementary OS. To get the full capabilities you’ll want to install libinput-gestures. I use gestures frequently in macOS to quickly access files I temporarily placed on the desktop and to get an overview of all the windows I have open. Pulling libinput-gestures into elementary OS and having a way to visually configure gestures would be a good step in the direction of presenting elementary as a consumer desktop alternative.
Going back or forward in my browser with three fingers instead of two is annoying.
Give Me Keyboard Shortcuts Or Give Me Death
The last thing I’ll say about my experience transitioning to elementary as my primary OS is in regard to keyboard shortcuts. This has been the biggest pain in my ass.
I am having to retrain myself to switch applications differently, to move between words differently, to move to the end of a line differently, to move to the beginning of a line differently. This is just a small list.
I remapped some of the shortcuts in the Keyboard Shortcuts GUI in the Settings panel, but I still have a huge problem with it. Outside of needing to do iOS development work, having difficulty mapping keyboard shortcuts to something familiar is the only reason why I switch back to macOS occasionally.
I have forced myself to get familiar to the user interface conventions in elementary OS. They are actually delightful and intuitive so it hasn’t been that painful of a process. But the damn keyboard has been a nightmare. It is ingrained into me to use a Command (Super) key combination to copy, paste, move between windows, open Spotlight, move to the end of a line, select a word, and select a whole line.
I have researched multiple solutions to this and much of it points me back to the Keyboard Settings GUI. The Keyboard Settings GUI only offers a limited number of options for mapping shortcuts. This is insufficient for many other commands. Some others have recommended editing a configuration file to remap the Command key as a Control key. I have not dived into the configuration file option yet as the solution seems inelegant and I am frankly overwhelmed by it. Though I am open to trying any other solution someone has to offer and reporting back on my success.
elementary OS bills itself as a “fast and open replacement for Windows and macOS.” To make the transition easier for people like me (a developer) I’d like to see an option in the Keyboard Settings to “Use macOS-style key bindings.”
elementary OS is for me
I will continue to use elementary OS because using free software is awesome. The operating system is very capable out of the box and very stable. I am hoping a solution presents itself with the keyboard as it is a fairly big sticking point for me. It won’t cause me to give up on elementary OS, but it is a major reason why I will switch back to macOS to get back to my peak efficiency.