Skip to content

Install Ubuntu 22.04 ARM Virtual Machine on Apple Silicon

Install Multipass

Canonical Multipass is a lightweight VM manager for Linux, Windows and macOS. It's designed for developers who want a fresh Ubuntu environment with a single command.

Install via Homebrew:

brew install multipass

Test:

multipass version
multipass   1.13.0+mac
multipassd  1.13.0+mac

List supported Images and Blueprints:

multipass find
Image                       Aliases           Version          Description
20.04                       focal             20240118         Ubuntu 20.04 LTS
22.04                       jammy,lts         20231211         Ubuntu 22.04 LTS
23.10                       mantic            20231220         Ubuntu 23.10

Blueprint                   Aliases           Version          Description
anbox-cloud-appliance                         latest           Anbox Cloud Appliance
charm-dev                                     latest           A development and testing environment for charmers
docker                                        0.4              A Docker environment with Portainer and related tools
jellyfin                                      latest           Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media.
minikube                                      latest           minikube is local Kubernetes
ros-noetic                                    0.1              A development and testing environment for ROS Noetic.
ros2-humble                                   0.1              A development and testing environment for ROS 2 Humble.

Install Ubuntu

Launch Ubuntu 22.04 VM named ubuntu-arm64 with 4 CPUs, 4 GB of RAM and 200 GB of disk space. This will install the official server version from https://ubuntu.com

multipass launch 22.04 --name ubuntu-arm64 --cpus 4 --memory 4G --disk 200G

Connect to the machine:

multipass shell ubuntu-arm64

You should see output similar to this:

Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-91-generic aarch64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Sun Jan 21 15:08:51 UTC 2024

  System load:             0.2275390625
  Usage of /:              0.7% of 193.63GB
  Memory usage:            5%
  Swap usage:              0%
  Processes:               130
  Users logged in:         0
  IPv4 address for enp0s1: 192.168.64.5
  IPv6 address for enp0s1: fde4:91fb:918:4bfe:5054:ff:fe94:e6a8

Install Ubuntu Desktop

Login into the VM:

multipass shell ubuntu-arm64

Install Ubuntu Desktop and X Remote Desktop Protocol (xrdp). This takes a few minutes to install all the required packages:

sudo apt update 
sudo apt install -y ubuntu-desktop xrdp 

Create a new user

Create a new user for connecting in graphical mode. Replace <username> with your user:

# create user
sudo adduser <username>

# add to the sudo group
sudo usermod -aG sudo <username>

Connect with Remote Desktop

Install Microsoft Remote Desktop from the Apple App Store.

Get VM IP Address:

multipass list

Name                    State             IPv4             Image
ubuntu-arm64            Running           192.168.64.5     Ubuntu 22.04 LTS

Connect to Ubuntu:

remote-desktop

When asked, enter your password. You should see:

ubuntu-arm64

Ubuntu Desktop Look and Feel

To have the same look and feel as the original Ubuntu Desktop GUI, in the home directory of the user you use to connect to with Remote Desktop, create a file called .xsessionrc with this info:

export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg

You need to restart the machine for the changes to take effect

Clean up

Delete the machine. This will stop the machine without deleting the VM files:

multipass delete ubuntu-arm64

Purge all files for deleted machines. Make sure you don't have any data that you need on the VM. There is no coming back after you run this:

multipass purge