Xvnc with Solaris on Xen

Posted on Jul 21, 2006

Update: Thanks to Bernd Schemmer for some corrections to the instructions.

In the last entry I mentioned using VNC to access a Linux domU environment running on top of Solaris dom0. It’s useful to do the same thing with a Solaris domU, either one running on a Solaris dom0 or a Linux dom0. Here are the steps:

  1. Get your Solaris domU virtual machine up and running. For the sake of this discussion, we’ll assume that you install the full Solaris product for the guest domain. You can get by with less, but I’ve not tested VNC with that. The instructions necessary can be found on the OpenSolaris on Xen website.

  2. Install the basic Blastwave tools. The instructions are here. This should take all of thirty seconds :-)

  3. From Blastwave, install the vncserver package:

    # /opt/csw/bin/pkg-get -i vncserver
    The process will ask you some questions (I said “Yes” to all of them) along the way - it will install some other required packages as it goes.

  4. Tell dtlogin to run Xvnc rather than the normal X server:

    # mkdir /etc/dt/config
    # cat >/etc/dt/config/Xservers <<EOF
    :0   Local local_uid@none root /opt/csw/bin/Xvnc :0 -geometry 1024x768 -depth 24

  5. Restart dtlogin:

    # /etc/init.d/dtlogin stop
    # /etc/init.d/dtlogin start
    After a couple of seconds, it’s worth checking that Xvnc is actually running:
    # ps -ef | grep Xvnc
    root 102525 102484   0 15:48:15 ?           0:00 /opt/csw/bin/Xvnc :0 -auth /var/dt/A:0-7Zavqg

If you’re using a release of OpenSolaris that has GDM rather than dtlogin, check out this email.

  1. Connect to the Solaris domU VNC server using a VNC client of your choice.

You should get the usual dtlogin screen:


Log in. Nice new GNOME in the later Nevada builds!


Note that I’m logged in as myself, as the Solaris domU machine looks a lot like a standard workstation in Sun engineering. NIS was used to find my account details and the automounter gets my home directory from the usual (ZFS based) fileserver.