Bart Simons

Bart Simons

Thoughts, stories and ideas.

Bart Simons



.net .net 5 .net core Apache C# CentOS LAMP NET Framework Pretty URLs Windows Server WireGuard access log add analysis android api at the same time authentication authorization automate automation azure azurerm backup bash basics batch bootstrap build capture cheat sheet chromium chroot class cli click to close code coverage code snippet command line commands compile compiling compression containers control controller controlling convert cpu usage create credentials csv csvparser curl data dd deployment desktop detect devices disable diskpart dism distributed diy docker dom changes dotnet core drivers ease of access encryption example export file transfer files fix folders framework generalize getting started ghost gui guide gunicorn gzip html html tables icewarp igd imagex import inotify install installation interactive ios iphone itunes java javascript jquery json kiosk kotlin linux live load data loading screen lock screen loopback audio lxc lxd lxml macos manage manually message messages minio mirrored mod_rewrite monitor monitoring mstest mutationobserver mysql net 5 nexmo nginx no oobe node node.js nodejs not installing notification notifications object storage on desktop one command openssl owncloud parallels parallels tools parse perfect philips hue play port forwarding powershell processing ps-spotify python quick raspberry pi record rip ripping rsync rtmp save save data sbapplication scraping script scripting scriptingbridge scripts security send server service sharedpreferences sms songs sonos spotify spotify api spotlight ssh stack streaming streamlink studio sudo swarm swift sync sysprep system audio systemd tables terminal testing tracking tutorial twilio ubiquiti ubuntu ubuntu 18.04 ui code unifi unlock unsplash source upnp uptime usb tethering wallpapers wasapi website websites webview windows windows 10 without itunes without oobe workaround xaml

Installing Parallels Tools on Ubuntu 18.04

Another big release of Ubuntu has gone live since the 26th of April: Ubuntu 18.04. I wanted to try it out and so I went ahead and installed the desktop edition in Parallels Desktop. So far I can only tell you that Parallels does (at the time of writing this article) not support kernel version 4.15, which Ubuntu 18.04 comes with out of the box. I have fixed this by downgrading to kernel version 4.14 manually, and I can tell you that things are buttery smooth now! In this article I am demonstrating every step so that you can enjoy a fresh and working Ubuntu 18.04 VM on your Mac too.

Please note: Parallels added support for Ubuntu 18.04 in their update released on 30 May, which (possibly) renders this guide as not needed anymore. You still need to follow this guide if you happen to run an older version of Parallels though, or in case if Parallels Tools still doesn't work for you.

A small checklist

This guide is for people who are familiar with working in a terminal window. Things can get really technical, so please warm yourself up for some hackery. For the people who are unfamiliar with working in a terminal window: you are better off with skipping Ubuntu 18.04 for now, unfortunately.

Getting an older kernel

It is quite possible that any kernel version lower than 4.15 might work. Make sure to check out to check for the latest longterm kernel release. At the time of writing this article, 4.14.39 was the latest version to download.

Fetching older kernel versions for Ubuntu is quite convenient, as Canonical provides the community with prebuilt kernels of literally any version you could wish for. Go ahead and see for yourself!

Ubuntu Kernels

The link for this page is

Go ahead and download the highlighted packages from Ofcourse, do this inside your VM. And replace the version number with a newer number if available.

Ubuntu Kernels 2

Once you have downloaded the four highlighted packages, you need to open up a terminal with the CTRL + ALT + T key combination. Navigate to your Downloads directory with cd Downloads and execute sudo dpkg -i *.deb from there. This will install your downloaded kernel along with its headers and modules.

Removing the default kernel

Before you restart, run this command to remove the default kernel:

sudo apt purge linux-headers-4.15.* linux-image-4.15* linux-modules-4.15* linux-modules-extra-4.15*

If you get a question asking you if you should abort, answer with no.

This step is mandatory because if you didn't do this, you would still boot with the 4.15 kernel by default, and we don't want that to happen.

Reboot time!

It's time to reboot your VM. Please note that it might take very long (think about four to eight minutes) to boot, this is a bug and I am not sure what's causing it. If it takes too long, switch between TTYs with CTRL + ALT + F2 and back to tty1 with CTRL + ALT + F1. Anyway, you can install Parallels Tools after you have logged in. If you don't know how to do that: in the menu bar, go to Actions, Install Parallels Tools. It can also be that it is called Reinstall Parallels Tools for you. Click it, and you'll see that an optical disk with the label 'Parallels Tools' has been mounted inside your VM. Open it, and copy all the contents from the drive to your Documents folder.

If there's only one file with some weird characters in the filename, please eject the disk in files and try redoing this part.

Open a terminal again (with CTRL + ALT + T) and navigate to your Documents folder with the cd Documents command. We now need to make all files inside this directory executable in order to successfully install Parallels Tools. You can do this with the command sudo chmod -R +x *. Install libelf-dev too with the command sudo apt install libelf-dev as it is required as a dependency for the build process. Execute the command sudo ./install and Parallels Tools will install for you, without errors.

The result

Make sure to remove the downloaded files and the Tools installation files in the Documents folder. Reboot your VM and you should see that everything works: 3D acceleration, bigger screen sizes, better mouse integration.

If something did not work for you, please tell me in the comments. If it did work for you, congratulations!

Bart Simons

Bart Simons

View Comments