This was one of the core components of the computing system we setup in Buea. Our system also included a TFPT and NFS services to allow for nearly automated installs of a number of different system types. The following will allow you to create a system that runs virtual machines and displays one of them via RDP constantly and as transparently as possible.
The first step is to install the minimal base system that will run the VMs. These basesys.autoyast and basesys.xml files will install a minimal base system for you. They are designed for openSUSE 11.2 i586 and have been manually modified so you might need to fix them. Mostly they are just here to give you a good idea of what packages you need for the minimum install. You can also use SUSEstudio to make a JeOS disk. I will assume that the first user you created has a login of “blackstone”, but you can adjust appropriately.
After you have the minimal system installed you should log into the system as root; set passwords; remove some unneeded packages; and install VirtualBox, Oracle VM VirtualBox Extension Pack< (for RDP and USB2.0 support), and vboxtool. Note that the packages you should remove might have changed for new versions of openSUSE/VirtualBox.
passwd
passwd blackstone
chkconfig --add sshd
zypper -q -n rm virtualbox-ose virtualbox-ose-kmp-default virtualbox-ose-kmp-desktop xorg-x11-driver-virtualbox-ose
Now you can move your VirtualBox machine(s) in or make (a) new one(s). After you have the machine(s) setup, you need to configure a number of scripts to make the guest machines automatically display on boot.
Create a new file, /home/blackstone/.xinitrc with contents
rdesktop-vrdp localhost:5086 -f
and give it the proper ownership
chown blackstone /home/blackstone/.xinitrc
Then create a new file, /etc/init.d/auto-rpd with contents
#!/bin/bash
### BEGIN INIT INFO
# Provides: auto-rdp
# Required-Start: $ALL
# Required-Stop: $ALL
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Description: Auto login of user into X running only rdesktop-vrdp.
### END INIT INFO
user=blackstone
case "$1" in
start)
while :
do
su $user -c startx
done
;;
stop)
killproc -g -TERM auto-rdp
;;
esac
make it executable and enable it
chmod 755 /etc/init.d/auto-rdp
chmod +x /etc/init.d/auto-rdp
chkconfig --add auto-rdp
Follow the instructions to setup vboxtools. This is how to do it, assuming you only want to start the vm called “vm” and have it displayed.
mkdir /etc/vboxtool
echo "vm,5086" > /etc/vboxtool/machines.conf
echo vbox_user=\'root\' > /etc/vboxtool/vboxtool.conf
Now, on reboot your vm(s) will start and (one) accessed via fullscreen RDP. It should be rather difficult to break out of the RDP client. To change settings you should ssh into your host environment.