I was frustrated by the macOS Catalina, so I decided to switch to Ubuntu as the main operating system on my MacBook Pro, 13-inch version without touch bar. As a software developer, the macOS bundled a lot of tools with the Xcode which takes up to 10GB of size. Disk space was not my main concern but the network could be slow sometime to download and it stuck at the latest patch update. An hour of productivity could be lost to wait, which is a ridiculous blocker to get some work done.
I was a bit concern if the proprietary hardware would be compatible with the open-source Linux distro. However, out of my surprised, many features work out of the box from a fresh install these days thanks to the community. Things just work out of the box includes the screen, keyboard, touchpad and wifi. The thing that doesn't work is the audio, which could be a workaround with my USB type C headphone or HDMI external monitor speaker. This Github page has great documentation on different MacBook hardware support status: https://github.com/Dunedan/mbp-2016-linux
I am happy with the installation, so here are the simple steps if you are also interested to try as well:
- Download ubuntu 19.10 from https://ubuntu.com/download/desktop
- Create a bootable USB stick with Etcher by following these steps: https://tutorials.ubuntu.com/tutorial/tutorial-create-a-usb-stick-on-macos#0
- Restart and press option key to select USB stick to boot from
- Try and install
That's all. As a developer, you can simply run
sudo apt install git to get this basic tool to work, unlike the mac os system restricted your freedom. You should not get too comfortable on only one single platform. You cannot guarantee if the big cooperate doesn't do evil things, such as allow access to your personal data by the government for surveillance of normal citizens. Embrace the open-source community and cherish the freedom to choose with alternatives for the operating system.
P.S 1: To get bluetooth to work, run the script in this repo:
P.S 2: To get camera to work, install the driver following this guide: