Reviving an old Macbook Air with Ubuntu MATE
Mat

Mat @matmooredev

Location:
Remote
Joined:
Apr 24, 2018

Reviving an old Macbook Air with Ubuntu MATE

Publish Date: Jun 2
4 3

I recently installed Ubuntu MATE on my 11 year old Macbook Air as a way of keeping it running, given that Apple are no longer supporting the device. My idea was to replace it with Linux, while preserving the look & feel of the Mac as much as possible.

Below are my notes of what I needed to do. The exact model is MacBookAir6,2 (MacBook Air (13-inch, Early 2014)), but I think the process should be pretty similar for other MacBooks made around the same time.

hi MATE

I settled on an Ubuntu variant because:

  1. it's familiar to me
  2. Canonical do a reasonable job at making things usable
  3. it's easy to find help online.

I chose Ubuntu MATE1 over basic Ubuntu, as I liked how you can configure MATE to look a lot like MacOS.

The install process

Installing linux on this device was much like installing it on any device, except for some issues with WiFi. I cobbled together these instructions from various blog posts such as this one and this one:

  1. Before doing anything, back up your files.
  2. Make a bootable USB stick with Linux on it.
  3. Boot from the USB. The WiFi didn't work for me, but I fixed that later. The keyboard and trackpad worked fine. At this point I also tested that the SSD was detected ok.
  4. Proceed with the install. I made the mistake of tethering to my phone at this stage, which caused the installer to fail part way through. But it worked fine when I switched off the wifi.
  5. After booting into Linux, you need to tether to a phone via USB, then install the proprietary broadcom drivers so that you can connect to WiFi. Run sudo apt install broadcom-sta-common broadcom-sta-dkms then restart.
  6. Run sudo apt install mbpfan to ensure the CPU fan works.
  7. Run sudo apt install ubuntu-restricted-extras to install proprietary stuff.
  8. Run sudo apt update && sudo apt upgrade to update all the packages.

Colour profiles

I didn't seem to need this for the laptop's display but if you have an external monitor you can optionally restore the colour profile from an .icc file.

Brightness buttons and backlights

On MacOS, the F5, F6 buttons affected screen brightness, but in MATE only the F1, F2 do screen brightness, and F5, F6 manage the keyboard backlight brightness. This confused me a lot but ultimately it all works.

Info from the Mactel team in 2015 mentioned needing a custom kernel module for the backlight but this is no longer accurate.

Don't set the acpi_backlight kernel parameter. I found some older info recommending setting this to video or something but this broke the brightness control for me. More info on backlight settings.

Webcam issue

The webcam didn't work out of the box. I got it working using by compiling the facetimehd kernel module.

Tweaking things

MATE comes with a tool called Mate Tweak. Under "Panel", select the Cupertino layout and enable the dock for a Mac-like experience.

Customise the dock in "Plank preferences". I made the icons bigger. If you want to get rid of an icon that doesn't have a "keep in dock" checkbox, you can click and drag it out of the dock to remove it.

You can change the colour scheme in the "Appearance" app. I switched to the dark variant of the MATE default theme.

In "Keyboard preferences", the layout should match your Locale, e.g. "English (UK)". The "Keyboard model" in my case is "MacBook/MacBook Pro (intl)". Minor annoyance: on UK MacBooks, the "#" is the third symbol on the "3" key. Normally to type it you use the left alt, but on Linux you have to use the right alt.

Also on the Layouts tab is an "Options..." button. This contains a lot of useful key remapping features. Under "Alt and Win behaviour" you can select "Ctrl is mapped to Win and the usual Ctrl". This is the best way I've found of making Mac-style Cmd+C, Cmd+V etc shortcuts work on Linux. Just bear in mind:

  1. It will no longer be possible to type the "Super" key, which breaks some default shortcuts2.
  2. You can't use it for copying from a terminal, because Ctrl+C will still send the ^C byte to trigger a SIGINT. I configured Gnome terminal to use Ctrl+Shift+C (Cmd+Shift+C) for Copy, and Ctrl+V (Ctrl+Shift+V) for Paste3.

I also used "Ibus Preferences" to configure a second input method, and I use Ctrl + Space as the key to toggle them.

mDNS search domain issue

Out of the box I couldn't use shortnames to ssh to other machines on my local network, because the search domain was set to "home", where previously I was using "local".

I fixed this with resolvectl domain wlp3s0 local, where wlp3s0 is the interface name.

Linux touchpad drivers suck

The touchpad works out of the box, but the usability is rubbish compared to MacOS. Ubuntu MATE uses libinput, which has an intentionally limited feature set. It doesn't have "momentum scrolling" or smooth scrolling. The older Synaptics driver is a lot more configurable but it's no longer maintained. I haven't tried using it myself yet but I'm curious if it's worth tinkering with to get a better touchpad experience.


  1. If your laptop is even lower spec than mine, you might consider the Xubuntu or Lubuntu flavours, which have much lower minimum requirements. 

  2. If you want to keep one of the command keys as super, and map the other to control, you can instead use xmodmap to do the remapping, but this is very confusing to configure.  

  3. I think it should be possible to remap the key combination that the terminal emulator uses for ^C (e.g. to Ctrl+Shift+C), but I couldn't find a way to do this in Gnome terminal. 

Comments 3 total

  • Fyodor
    FyodorJun 2, 2025

    Thanks for sharing that, considering something similar for my air 2015.

    Genuinely curious, why couldn’t you use the older macOS? Any blocking app behavior?

    As a result, how performant the new system and what do you use it for (if I may ask)?

    Run sudo apt install mbpfan to ensure the CPU fan works.

    I was sure airs don’t have cpu fans, do they?

    • Mat
      MatJun 4, 2025

      It's quiet most of the time but there's a noisy fan that comes on on when it's overheating. I checked it with the stress command.

      There was nothing blocking as such, but there were a lot of annoyances. For some reason I was encountering an issue where it would hang for ages running some kernel task process when switching on from hibernate. MacOS also ate up quite a lot of my available disk space (this model has a 120gb SSD), and I just found it ridiculous that MacOS prevented me from deleting old wallpapers. I think I also had problems with homebrew once they dropped support for my MacOS version.

      I'm not using it for much really, just browsing the web, streaming videos, and coding on a few personal projects. It definitely seems more responsive running MATE, and quicker to boot. I have run into occasional issues where the dock program (plank) will crash and restart itself, which I haven't figured out yet, but other than that it seems to be working fine.

      • Fyodor
        FyodorJun 4, 2025

        Thank you, that sounds really promising to me 👍🏼 I personally still need to overcome my Linux PTSD threshold but otherwise really curious to give it a try 😅

Add comment