Adventures in Linux

For the longest time I’ve had a sort of craving to have a Linux Desktop again. It wasn’t enough to switch to Linux completely when I started at AOE GmbH in 2023, but it was always there. MacOS is an amazing operating system and I love it for its stability, features, available software, and … style. It just looks good, the devices feel good, and its overall a nice ecosystem (especially since I’m using an iPhone and the connection between iOS and MacOS is nice!)

My history with Linux started around 2013-ish when I used Ubuntu – I think 12.04 or 13.04 – on an Acer laptop. After using Windows for all my life up to that point, because that’s just what one does, I wanted to dive deeper into the “server”-like Operating System called Linux (at the time I knew little about Linux, different distributions, or open source). My friend and colleague Tim Pietrusky introduced me to Ubuntu and helped me get it up and running, and for years I’ve used a Ubuntu Desktop for all things dev before switching to MacOS.

Anyways, in 2023/2024 I wanted a Linux PC again. Luckily, I came upon a cheap old-ish MacBook so I decided to give Linux a try. First I tried Ubuntu and Debian, both not working too well, then I tried Arch, also not working too well, and finally I gave up because they all wouldn’t work reliably. A few months passed, I setup Fedora in a VM on my work MacBook to try using Linux more. I liked Fedora, and I liked Gnome as Desktop so I did some more research and it turns out my main problem was a T2 security ship in the Mac!

In the end the solution was to use t2linux, a special Linux Kernel with a bunch of patches to run Linux distributions on MacBooks with the T2 Security chip. The guides in the wiki are straight forward, a lot of stuff could be copy-pasted, and now most things are working and I’ve a Linux Desktop running Fedora 40! Yay! 🐧

Screenshot of a terminal showing the output of neofetch which shows the fedora logo as ascii art and meta data about the system
Output of neofetch on my Fedora 40 machine. Yes I use light themes because dark themes are bad for my eyes somehow.

Tools and Software

A lot of the tools I use on Mac can also be used on Linux systems, like the following:

… I’m probably missing something, but these were the first tools I setup, alongside Rust, Haskell, Node, and Go.

Problems

A few problems I encountered.

KeePassXC Browser extension

First of all, I wasn’t able to use KeePassXC with Vivaldi. I foolishly installed Vivaldi from the Software Center / App Store thingy, which uses Flatpak, which sandboxes Vivaldi and prevents it from interacting with the KeePassXC program. The more you know!

Luckily, I got help on the Vivaldi Forums from a user who pointed out the sandboxing issue.

Suspend

The suspend feature is not working at all. When I enter suspended state and try to re-active the PC it shows the login screen and freezes, or does nothing at all.

I tried the fix from the t2linux wiki, but it didn’t work. I’ll need to investigate more. With the suspend-fix-t2.service enabled I could log back in after a suspend but then wifi wasn’t working… but there’s also a fix for that! So I just need to try a bit more. 💪

CMD / CTRL swapping

Coming from Mac I swapped the CMD and CTRL keys using GNOME Tweaks, but it feels… wrong. The CMD key on Mac isn’t a direct replacement for the CTRL key and there are some combinations where CTRL is used (e.g. CTRL + L in the terminal to clear the screen) so I’d kind-of like to have all of them working. 😬

Conclusion

While it’s nice to have a Linux computer again, a T2 MacBook isn’t the best choice. If I was to buy a device again it would probably be a Lenovo ThinkPad. As for Fedora I feel as confident as with most of the other Linux distributions: It works fine, looks OK, and feels right. I’ve used Ubuntu in the past, and tried Debian, and now settled on Fedora for the time being.

I’ll see how often I use this computer at all, given that I am not doing a lot of development at home and out of work these days, but we’ll see!