The VirtualBox Guest Additions are software services which allow client operating systems to interact with the Virtualisation environment, breaking the limitation of strictly running the client OS on emulated hardware. Facilities provided include cut and paste between the Client OS and the host system, much better display support with resizing, and even drag and drop of files (which I have not got working).
Up until about Ubuntu 14.04, the method for installing the VirtualBox Guest Additions was to install Ubuntu and then to (virtually) install the Guest Additions CD image provided by VirtualBox and run the installation from that. This no longer works under Ubuntu 17.10 (and I read that it didn’t work for Ubuntu 16, but I can’t verify that). Instead, packages are provided in Ubuntu itself to support the VirtualBox virtualisation facilities.
Based on a video by ‘Linux Video Tutorials’, here are the steps to install the VirtualBox Guest Additions in Ubuntu 17.10:
Settings for VirtualBox VM
- set plenty of Video Memory (128Mb) in Display->Screen
- set 3D Acceleration active in Display->Screen
- enable PAE/NX under System->Processor
- enable the bidirectional clipboard and drag and drop if you want them, in General->Advanced.
Installing the software
% sudo apt-get update % sudo apt-get upgrade % sudo apt-get install build-essential virtualbox-guest-dkms virtualbox-guest-x11 % sudo shutdown -r now
Checking that the software is working
The client OS should now boot with flexible display resizing and cut and paste support. The VirtualBox Guest Additions services should be enabled and running. I found I had to start them:
% hostnamectl % sudo systemctl status virtualbox-guest-utils.service % sudo systemctl start virtualbox-guest-utils.service % sudo systemctl status virtualbox-guest-utils.service % ps -ef | grep -i vbox root 280 2 0 11:36 ? 00:00:00 [iprt-VBoxWQueue] lemon 1501 1 0 11:37 ? 00:00:00 /usr/bin/VBoxClient --clipboard lemon 1504 1501 0 11:37 ? 00:00:00 /usr/bin/VBoxClient --clipboard lemon 1505 1 0 11:37 ? 00:00:00 /usr/bin/VBoxClient --display lemon 1506 1505 0 11:37 ? 00:00:00 /usr/bin/VBoxClient --display lemon 1512 1 0 11:37 ? 00:00:00 /usr/bin/VBoxClient --seamless lemon 1513 1512 0 11:37 ? 00:00:00 /usr/bin/VBoxClient --seamless lemon 1519 1 0 11:37 ? 00:00:00 /usr/bin/VBoxClient --draganddrop lemon 1520 1519 0 11:37 ? 00:00:00 /usr/bin/VBoxClient --draganddrop root 20751 1 0 11:40 ? 00:00:00 /usr/sbin/VBoxService