Thursday, April 13, 2017

VirtualBox and shared clipboard

Based on the number of results from a search, I feel grateful that I haven't had the shared clipboard between the Mac OS X 10.11 host of my work laptop and the Xubuntu 16.04 guest break sooner.

I read the documentation. I read many of the search results, including this older thread. Those commands gave me error messages! (This is useful, not terrible.)

/usr/bin/VBoxClient-all: 31: /usr/bin/VBoxClient-all: /usr/bin/VBoxClient: not found
/usr/bin/VBoxClient-all: 32: /usr/bin/VBoxClient-all: /usr/bin/VBoxClient: not found
/usr/bin/VBoxClient-all: 33: /usr/bin/VBoxClient-all: /usr/bin/VBoxClient: not found
/usr/bin/VBoxClient-all: 34: /usr/bin/VBoxClient-all: /usr/bin/VBoxClient: not found
/usr/bin/VBoxClient-all: 35: /usr/bin/VBoxClient-all: /usr/bin/VBoxClient: not found

I did a directory listing to look at the available VBox scripts, and saw that those were symlinks. Based on that, if I had to guess, the VBoxClient script was renamed to VBoxClient-all without updating the script itself where it called itself. Doh! The simplest fix was not to edit the script giving the errors but to add a symlink for the "old" name. The symlink solution will also aid any other scripts that were also not updated to call the new name.

user@guest:~$ cd /usr/bin
user@guest:/usr/bin$ ls -l VBox*
lrwxrwxrwx 1 root root 27 Jan 18 08:58 VBoxBalloonCtrl -> ../share/virtualbox/VBox.sh
lrwxrwxrwx 1 root root 62 Jan 18 10:06 VBoxClient-all -> /usr/lib/x86_64-linux-gnu/VBoxGuestAdditions/98vboxadd-xclient
lrwxrwxrwx 1 root root 46 Jan 18 10:06 VBoxControl -> /opt/VBoxGuestAdditions-5.0.32/bin/VBoxControl
lrwxrwxrwx 1 root root 27 Jan 18 08:58 VBoxHeadless -> ../share/virtualbox/VBox.sh
lrwxrwxrwx 1 root root 27 Jan 18 08:58 VBoxManage -> ../share/virtualbox/VBox.sh
lrwxrwxrwx 1 root root 27 Jan 18 08:58 VBoxSDL -> ../share/virtualbox/VBox.sh
user@guest:/usr/bin$ sudo ln -s /usr/lib/x86_64-linux-gnu/VBoxGuestAdditions/98vboxadd-xclient VBoxClient
user@guest:/usr/bin$ ls -l VBox*
lrwxrwxrwx 1 root root 27 Jan 18 08:58 VBoxBalloonCtrl -> ../share/virtualbox/VBox.sh
lrwxrwxrwx 1 root root 62 Apr 12 11:04 VBoxClient -> /usr/lib/x86_64-linux-gnu/VBoxGuestAdditions/98vboxadd-xclient
lrwxrwxrwx 1 root root 62 Jan 18 10:06 VBoxClient-all -> /usr/lib/x86_64-linux-gnu/VBoxGuestAdditions/98vboxadd-xclient
lrwxrwxrwx 1 root root 46 Jan 18 10:06 VBoxControl -> /opt/VBoxGuestAdditions-5.0.32/bin/VBoxControl
lrwxrwxrwx 1 root root 27 Jan 18 08:58 VBoxHeadless -> ../share/virtualbox/VBox.sh
lrwxrwxrwx 1 root root 27 Jan 18 08:58 VBoxManage -> ../share/virtualbox/VBox.sh
lrwxrwxrwx 1 root root 27 Jan 18 08:58 VBoxSDL -> ../share/virtualbox/VBox.sh

That might have been sufficient, but I thought this command also sounded promising.

user@guest:/usr/bin$ sudo rcvboxadd setup
Removing existing VirtualBox DKMS kernel modules ...done.
Removing existing VirtualBox non-DKMS kernel modules ...done.
Building the VirtualBox Guest Additions kernel modules ...done.
Doing non-kernel setup of the Guest Additions ...done.
You should restart your guest to make sure the new modules are actually used

And the report after a reboot is: OUCH! Lesson 1: do not try to install the HWE kernel (hardware enablement)! Virtual Box is not happy when you mess with the kernel. (Longer version: installing HWE conflicted with virtualbox-guest-x11 and that's necessary. I thought virtualbox-qt would be sufficient, but that didn't seem to be the case.) Without a skilled administrator, I don't think I would use that VM again! Lesson 2: make a snapshot before kernel upgrades! Or just any ol' time, because backups are good! I suspect the symlink helps too, but overall VBox feet were shot in the process of trying to restore the shared clipboard.

No comments:

Post a Comment