Monday, March 19, 2007

Integrating Citrix Applications into Linux Desktop (SLED10)

One of my colleagues pokes fun at me because I prefer to use Linux through the graphical interface and seek to avoid the command line when possible. I prefer this because I have high demands of Linux as a user friendly tool and it usually meets my expectations. That being said, the command line and Linux's ease of access to configuration files call you to leave the graphical world once in a while to make some very powerful changes that make the graphical world much better.

One such example are the steps to modify the configuration of the Gnome-Main-Menu (better known as the "Computer" button) to include Citrix applications so users can simply click an icon to launch remote applications hosted on Citrix Servers.

The following describes changes we made to include Citrix Applications into the Gnome Main Menu and how we did them.

Open /etc/xdg/menus/application.menu in gedit.
Add...

<*Menu>
<*Name>Citrix<*/Name>
<*Directory>citrix.directory<*/Directory>
<*Include>
<*Category>Citrix<*/Category>
<*/Include>
<*/Menu>

...below the Categories section of the file (REMOVE the *!!! They are added to preserve the braket syntax in this post) and save the file.

Then open /usr/share/applications/wfcmgr.desktop with gedit and add "Citrix" to the catagories. Save and close the file.

Open /usr/lib/ICAClient/wfcmgr.sh with gedit and modify it to include subfolders for each of the subdirectories you have created in Citrix.

For example, ours reads:

#!/bin/sh
export LANG="en"
/usr/lib/ICAClient/wfcmgr -icaroot /usr/lib/ICAClient &
while ! [-d $HOME/.ICAClient/cache/Programs]
do
sleep 1
done
# shortuser=$(echo $USER | sed 's/WHITFIELDSCHOOL\\//')
sudo ln -s -f $HOME/.ICAClient/cache/Programs/Citrix/Faculty\ \&\ Staff\ Apps/ /usr/share/applications/
sudo ln -s -f $HOME/.ICAClient/cache/Programs/Citrix/Gen\ Whitfield\ Apps/ /usr/share/applications/
sudo ln -s -f $HOME/.ICAClient/cache/Programs/Citrix/Graphics\ Apps/ /usr/share/applications/
sudo ln -s -f $HOME/.ICAClient/cache/Programs/Citrix/IT\ Mgmt\ Apps/ /usr/share/applications/
sudo ln -s -f $HOME/.ICAClient/cache/Programs/Citrix/MS\ Office\ 2003/ /usr/share/applications/

That should do it!

Now, we post this to share the information. This is obviously not the mose detailed technical document but it should get you started. This is not a supported solution by Citrix nor Novell. It has worked well for us and we wish you the best of luck in your organization!

No comments: