Citrix Receiver


[edit] Citrix Receiver 11.1 on the N900

[edit] What you need

  1. Citrix Receiver 11.1 for Linux ARM Version, .tar.gz (try this direct link, but it's easily found anyhow.)
  2. Extras-devel enabled - this is only needed for dbus-switchboard. The usual disclaimers apply, please read the wiki page. Also make sure you have the default Repositories "Nokia Applications" and "Nokia System Software Updates" set up and enabled.
  3. libmotif3 and libxp6 from the Debian Squeeze ARM repository - this is only required for the Connection Manager, if you don't plan on using it, you can skip these. The client works just as well without them and you'll save some precious space (around 1,2 MB) on your Rootfs. Be sure to get the armel packages!

[edit] How to install

Put the file you downloaded from the Citrix page and those from Debian somewhere on the Device, e.g. MyDocs (the 32GB on-device storage area). Proceed as follows inside an XTerm (substitute the correct filenames if your versions or paths differ):

# become root
sudo gainroot
# get prerequisites
apt-get install dbus-switchboard libxinerama1 libxaw7 libxmu6 libxpm4
# add mime type for .ica files, associate with dbus-switchboard
echo "application/x-ica=hildon-dbus-switchboard.desktop" >> /usr/share/applications/defaults.list
# these 2 are only needed for Connection Manager
dpkg --force-depends -i /home/user/MyDocs/libxp6_1.0.0.xsf1-2_armel.deb
dpkg --force-depends -i /home/user/MyDocs/libmotif3_2.2.3-4_armel.deb
# create source directory in /opt, extract icaclient and run setup script
cd /opt
mkdir icaclient.src
cd icaclient.src
tar -xzvf /home/user/MyDocs/linuxarm-11.100.158406.tar.gz

When you're asked for a directory, type in:


Confirm the next question by entering "y". This way, the installation will reside on the larger /opt partition and not fill up your rootfs.

Say "n" to the other questions, they won't work anyways, and no reason in letting the script change some non-existent (because non-Maemo) places.

After setup has finished you can delete the source directory:

cd ..
rm -rf icaclient.src

Now start dbus-switchboard from the launch menu, tap on the title bar and select "new handler" from the menu, name it "Icaclient" and enter this command:

/opt/icaclient/wfica %realparams2%

Then create a "new Xref" the same way, type in .ica as protocol and select "Icaclient" as handler. Finally, select "save" from the menu to write your changes. There is probably a more scriptable solution, feel free to add it if you know!

Phase 3: Profit! :)

You should now be able to directly launch ica sessions from within Microb by selecting "open with dbus-switchboard".

To start the connection manager, you can either do so directly via Xterm (/opt/icaclient/wfcmgr), or create a Desktop entry.

To switch back to your Maemo session, you have to press the power button and select "phone" from the menu.

I have the best experience on XenApp Servers (under Windows Server 2008) in a Fullscreen session, with the on-screen keyboard set to start automatically. This way you have a full 800x480 desktop, and you can use the "properties" key as a sort of right-click substitute. It's a bit clunky but better than nothing :)

[edit] Known Issues

  • No Sound.
  • Citrix Receiver will always report an English Input Layout, so you'll have to use Windows' Languagebar to change the Layout for non-english devices.
  • Fn+Sym does not work, you have to rely on Windows' on-screen keyboard for special characters other than the ones directly accessible by Fn+Key.