While I was working on my recent post Virtualize Ubuntu Desktop on macOS with QEMU, I came across Canonical’s Multipass utility. Multipass makes it extremely simple to spin up Ubuntu instances on the fly whether your on Linux, macOS, and Windows. While your VM may not be as speedy as with QEMU, I would be remiss for not doing a quick write-up on this tool which makes it so easy to get up and running. The main caveat for Multipass is that it is only intended for running Ubuntu and neither other Linux distributions nor other operating systems. By default on macOS, Multipass uses Hyperkit behind the scenes.
Setting up a desktop with Multipass is briefly described here. This tutorial, in contrast, provides a complete set of instructions for configuring and running a Ubuntu MATE with Multipass on macOS. This tutorial assumes you have some experience with the command-line, virtualization, Ubuntu, and macOS.
Download the Multipass installer here.
Run the installer and follow the directions to install Multipass.
Create a new VM, allocating 2 CPU’s, 4 Gigabytes of RAM, and 50 Gigabytes of disk space.
$ multipass launch -c 2 -m 4G -d 50G Launched: nurturing-eagle
Launch a shell in the guest.
$ multipass shell nurturing-eagle Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-47-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Sun Sep 13 15:57:52 CDT 2020 System load: 0.45 Processes: 136 Usage of /: 2.6% of 48.29GB Users logged in: 0 Memory usage: 5% IPv4 address for enp0s2: 192.168.64.2 Swap usage: 0% 1 update can be installed immediately. 0 of these updates are security updates. To see these additional updates run: apt list --upgradable To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details.
Sync the package repositories.
$ sudo apt update
Update any packages if needed.
$ sudo apt upgrade
Install the Ubuntu MATE package and an RDP server.
$ sudo apt install ubuntu-mate-desktop xrdp
To use the default desktop or other Ubuntu flavors, substitute the respective package. For example, substitute
Set a password for the default
This password will be used when making an RDP connection.
$ sudo passwd ubuntu New password: Retype new password: passwd: password updated successfully
Back on the host, determine the IP address of the guest for the RDP session.
$ multipass info nurturing-eagle Name: nurturing-eagle State: Running IPv4: 192.168.64.2 Release: Ubuntu 20.04.1 LTS Image hash: 995771784f85 (Ubuntu 20.04 LTS) Load: 0.12 0.07 0.15 Disk usage: 4.3G out of 48.3G Memory usage: 204.7M out of 3.8G
Here the IP address is
# Homebrew $ brew install xquartz $ brew install freerdp # MacPorts $ sudo port install FreeRDP
Connect to the guest with FreeRDP.
$ xfreerdp /u:ubuntu /p:zorro /v:192.168.64.2 +clipboard
This command-line simply initiates an RDP connection to the guest at IP
192.168.64.2 using the username
ubuntu and the password
The last flag enables a shared clipboard to allow copying and pasting between the host and virtual machine.
You should now be able to create and access a virtualized Ubuntu desktop on macOS with Multipass. What’s more, it should be a piece of cake to transfer this method to running Ubuntu from a Windows or Linux host.