Preface

Do you know this icon?

If you hoover over the icon, a message will tell you that the XenClient tools are not installed in this VM. I don’t want to encourage you to not install the XenClient tools in the VM – these tools are great they will enable your VM to work in full speed by installing paravirtualized drivers and service to allow USB management and much more. In a managed and supported environment these tools are a must!

However you may want to use an operating systems which isn’t supported yet or a version of an OS where the tools wont install…

One of the great things about XenClient is, that not supported doesn’t mean not working – HVM mode let install pretty anything you want. But again there’s always this little alert which to remind you.

Step by Step

Let’s assume you created a Linux VM with a Distro which isn’t supported. Because Linux Tools are kernel modules there are some dependencies which are not always easy to resolve. In my example I’ve just installed BackTrack, my favorite security distro, and I didn’t bother installing XenClient tools, this will be the result:

BackTrack XenClient Tools not installed

If you had installed a supported OS, you would just boot the VM and install the tools, which are available per default in a virtual CDRom in the virtual machine. During the installation, the system would change a few entries in the configuration of that virtual machine. I’m going first to query the state of the tool install and than set configuration without installing the tool. This is all being done on the CLI of the Dom0 – You can open a Terminal by pressing CTRL+SHIFT+T on the Citrix Receiver for XenClient screen or remotely using a SSH client, if the ssh-server is enabled on the XenClient (xec set openssh-server true).

Find out the UUID of the VM you want to check:

root@xenclient-dom0:~# xec-vm

ID   | Name               | UUID                                 | State

-----+--------------------+--------------------------------------+--------

 1   | uivm               | 00000000-0000-0000-0000-000000000001 | running

     | Linux Desk         | 5f592571-40ff-4959-a14d-dac0a636a462 | stopped

     | Gaming VM          | 4ede4e1b-df45-46ae-818d-a068988e8031 | stopped

     | BackTrack          |<span style="color: #ff6600"> 19e9026c-6975-4b03-85bf-6937691b8024</span> | stopped

root@xenclient-dom0:~#

Now, we can use the xec-vm command to query and set entries in the xenmanager database. The interface we’re looking for is called “com.citrix.xenclient.xenmgr.vm” and the fields we need to modify are “pv-addons” and “pv-addons-version”

Let’s query them first:

root@xenclient-dom0:~# xec-vm -u 19e9026c-6975-4b03-85bf-6937691b8024 <a href="http://www.ndesign-studio.com/">↵</a>
-i com.citrix.xenclient.xenmgr.vm get pv-addons
false
root@xenclient-dom0:~# xec-vm -u 19e9026c-6975-4b03-85bf-6937691b8024 <a href="http://www.ndesign-studio.com/">↵</a>
-i com.citrix.xenclient.xenmgr.vm get pv-addons-version

As you see xec-vm returns false and the version string is empty.

Let’s tweak the system, so it thinks, XenClient tools are installed (the version number used is the one from XenClient 2.1):

root@xenclient-dom0:~# xec-vm -u 19e9026c-6975-4b03-85bf-6937691b8024 <a href="http://www.ndesign-studio.com/">↵</a>
-i com.citrix.xenclient.xenmgr.vm set pv-addons "1"
root@xenclient-dom0:~# xec-vm -u 19e9026c-6975-4b03-85bf-6937691b8024 <a href="http://www.ndesign-studio.com/">↵</a>
-i com.citrix.xenclient.xenmgr.vm set pv-addons-version "6.2.1.16500"

And now I’m going to verify the information has been written to the database:
root@xenclient-dom0:~# xec-vm -u 19e9026c-6975-4b03-85bf-6937691b8024 <a href="http://www.ndesign-studio.com/">↵</a>
-i com.citrix.xenclient.xenmgr.vm get pv-addons
true
root@xenclient-dom0:~# xec-vm -u 19e9026c-6975-4b03-85bf-6937691b8024 <a href="http://www.ndesign-studio.com/">↵</a>
-i com.citrix.xenclient.xenmgr.vm get pv-addons-version
6.2.1.16500

That all looks perfect, checking the Citrix Receiver for XenClient screen will show you a the VM without any alert.

BackTrack VM without alert

Enjoy working with XenClient! Cheers, walter.hofstetter[at]eu.citrix.com

Connect with the XenClient team online!