โ† Back

How To Install Ubuntu Desktop on ARM Architecture

Currently Ubuntu Desktop has no support for ARM architecture, but you can still install it ๐Ÿ™Œ

Written on December 03, 2024 ยท 2 min read

How To Install Ubuntu Desktop on ARM Architecture

If you have a desktop PC or laptop with an ARM architecture and want to install Ubuntu Desktop, you may find that the official desktop image isn't available, at least for now.

But don't worry! Here's a simple workaround to get Ubuntu Desktop running on your ARM-based device.

Steps to Install Ubuntu Desktop on ARM

  1. Download the Ubuntu Server Image
    Make sure to choose the LTS (Long Term Support) version for stability. You can download the ARM image from the official website.

  2. Install Ubuntu Server
    Follow the installation steps and reboot your system after completing the installation.

  3. Login to Your Ubuntu Server
    Once the server is running, log in using your credentials.

  4. Install the Desktop Environment
    Run the following commands to install Ubuntu Desktop:

   sudo apt update
   sudo apt install ubuntu-desktop
   sudo reboot
  1. Enjoy Ubuntu Desktop on ARM After rebooting, you'll have the Ubuntu Desktop environment ready to use.

Fixing Slow Boot Times After Installation

After setting up Ubuntu Desktop, you might notice that booting takes an unusually long time. This issue is likely due to conflicting network management services.

Understanding the Problem

Ubuntu uses one of two services to manage networking:

  • systemd-networkd: Default for servers.
  • NetworkManager: Default for desktops.

If both services (or the wrong one) are enabled, the boot process may timeout, causing delays.

Check Enabled Services

Run the following command to see which wait services are enabled:

systemctl is-enabled NetworkManager-wait-online.service systemd-networkd-wait-online.service

If both services are enabled, it may cause a conflict. You can also check which network service is active:

systemctl is-enabled NetworkManager.service systemd-networkd.service

On desktop systems, NetworkManager is typically the correct service.

Resolving the Conflict

  1. Inspect netplan Configuration Check the configuration files in /etc/netplan/. If networkmanager.yaml exists, it confirms that NetworkManager is being used.

  2. Disable the Unnecessary Service If systemd-networkd is enabled, disable it:

systemctl disable systemd-networkd.service

This command also disables associated services like systemd-networkd-wait-online.service and systemd-networkd.socket.

  1. Stop Active Sockets (if needed)

If you encounter the message:

Disabling 'systemd-networkd.service', but its triggering units are still active: systemd-networkd.socket

Run the following command to stop the socket:

systemctl stop systemd-networkd.socket

After disabling the unnecessary services, your boot time should reduce dramatically.


This note is written by Diky Hadna โ€” Software Engineer & Digital Nomad Mentor. Read my story and get in touch with me!