Seth's comment about the remote xserver sessions led me in the right direction. VirtualBox can be directly started on its own X session. In the example below, we start an Ubuntu 15.04 image.
From the command line
Create a file named startx_ubuntu1504
(or whatever you want to call it) in your home directory with these contents:
virtualbox --startvm Ubuntu_15.04 --fullscreen
You can then run startx $HOME/startx_ubuntu1504 -- :1
to start the VM.
From the login manager
Create a file named /usr/share/xsessions/vm_ubuntu1504.session
with these contents:
[Desktop Entry]
Type=Application
Exec=virtualbox --startvm Ubuntu_15.04 --fullscreen
Name=VM Ubuntu 15.04
Comment=Run VirtualBox image in its own X session
You should then be able to select the X session from your login manager. For example, I'm currently running Xubuntu 2016.10 with the lightdm login manager, and my current login theme has a session dropdown near the upper right corner. This lets me select between any number of virtual machines or my non-virtual desktop. Very cool!
1How did you try to approach this? Have you looked at the capability of remote xserver sessions? – Seth – 2017-02-02T13:18:12.593
1Thanks for the input @Seth. I've googled occasionally over the last month for "boot vm as desktop" and whatnot; explored using kvm with hardware passthrough, but I didn't figure out how use it on my single-graphics-card system; read about setting up thin clients, but there seem to be too many drawback. I'll look into remote xserver sessions now. – Ellis Whitehead – 2017-02-02T22:44:14.483