Installing Citrix Receiver on Ubuntu 12.04

Citrix Receiver is a useful cross-platform tool for accessing programs and files on other networks. My university uses Citrix for their desktopAnywhere service but only provides support for MacOS and Windows which is a pain because installing Citrix on Ubuntu is not quite smooth sailing. So here’s a quick guide to cover install and all the hurdles I went through trying to set it up.

1. Download your packages

You can find all the files for Citrix Receiver on the Citrix website in various different flavours. 64 bit packages are at the bottom of the page. Be aware of the file type you’re downloading; Ubuntu users will want to download the .deb files. You can also download the USB Support Package which gives Citrix the ability to read and write from your USB flash drives during a session.

Note: If you’re unsure about which package you need, x86 (32 bit) or x86_64 (64 bit), then run the command uname -i in terminal and you’ll see the arch type of your machine.

Download Options

OpenMotif is required for the graphical configuration menu of Citrix Receiver but not required for general use so we won’t bother with it for the time being.

2. Installing your packages

Due to a few prompts that may pop up during installation, it’d be best to install through the command line. There’s also a bug that prevents successful installation on 64 bit systems so there’s two ways to go about this.

32 bit: Open the terminal and find where you downloaded the files, for me that was Downloads, and install with dpkg as such:

~$ cd Downloads
~/Downloads$ sudo dpkg -i icaclient-12.1.0_i386.deb

Use the same command to install the USB support package if you wish to do so.

~$ sudo dpkg -i ctxusb-2.2.0_i386.deb

64 bit: Open the terminal and find where you downloaded the files, for me that was Downloads, and we want to partially install with dpkg as such:

~$ cd Downloads
~/Downloads$ sudo dpkg --unpack icaclient-12.1.0_amd64.deb

This unpacks the .deb file but doesn’t configure it. The reason for this is an error in the installation script that fails to detect the system type leading to this message appearing:

Unpacking icaclient (from .../icaclient_12.1.0_amd64.deb) ... Setting up icaclient (12.1.0) ... dpkg: error processing icaclient (--install): subprocess installed post-installation script returned error exit status 2 Processing triggers for menu ... Errors were encountered while processing: icaclient

Open your favourite text editor (gedit will do) and find icaclient.postinst in the directory /var/lib/dpkg/info/

~$ sudo gedit /var/lib/dpkg/info/icaclient.postinst

It’s a bit of a long file but you want to find the text near line 2648 that reads

echo $Arch|grep "i[0-9]86" >/dev/null

Replace that line with this

echo $Arch|grep -E "i[0-9]86|x86_64" >/dev/null

How the text should appear.

Save the file and finally, run this command to configure the package.

~$ sudo dpkg --configure icaclient

ICA client should be installed. Should you wish, you can also take this opportunity to install USB support in the same way by using dpkg -i <filename here>.

3. Supplying authentication certificates.

The Citrix Client does not supply many of it’s own SSL certificates for secure connection authentication, fortunately for Ubuntu users – Firefox does! You can use the following command to copy them over.

~$ sudo cp /usr/share/ca-certificates/mozilla/* /usr/lib/ICAClient/keystore/cacerts/

Any specific CA certificates that your Citrix admin requires can be placed in that folder too. If you get the error You have not chosen to trust “<name here>“, the issuer of the server’s security certificate. then you’ll need to place the appropriate CA certificate in the /usr/lib/ICAClient/keystore/cacerts/ directory.

4. Give it a go!

I’d had a few issues installing the Citrix Receiver onto 64 bit Ubuntu but following those worked for me and… voilà!

Citrix Receiver running on Ubuntu 12.04 x64

Advertisements

Ubuntu 12.04 (And first post!)

Woo! First post!

So anyway, I recently re-installed Ubuntu on my desktop PC. I quite like Linux and I’d want to use it more often but I find that certain things don’t work so well. But anyway, here’s a few of the issues I’ve found with Ubuntu 12.04

Skype

Skype’s come a long way since it bumped up to version 4, the inclusion of a tabbed window interface really helps to streamline everything. Still, sound for 64-bit computers is still an issue. I’m thinking it’s a PulseAudio/Skype issue but all sound is badly distorted. It’s little things like this that compromise the usability for everyday users.

Unity

For all it’s bad press, I quite like the unity interface. The way the top bar becomes the title menus really does a lot to clear up the clutter everyday PC users face. However, I’ve found the integration of other applications to be somewhat lackluster, particularly in the system tray area which blocks other applications from displaying icons there unless you open the console and use gconf to change the white list.

The side-bar ‘dock’ that housed all of the application icons no-longer auto-hides which was a useful space-saving feature. Even better was when there was an option so you could customise it to your own personal preference! I don’t mind Ubuntu nabbing a few Mac OS-X UI features here and there because if there’s one thing Apple are good at it’s UI design (iOS Homescreen and notifications not withstanding); what I do have an issue with is Ubuntu taking Apple’s rather authoritarian approach to software development – there’s no space for personal customisation just like…

Volume Control

Ubuntu tended towards incremental steps of 6% if you change the volume, for headphone users that can be quite significant so if you’re not wanting to be deafened, you’d change that figure. The gconf utility used to allow you to do that just fine and dandy but now that option isn’t there. I got around this by using custom key bindings and this .volumeHack.sh file. I didn’t bother with the xbindkeys script and instead just used Ubuntu’s provided keyboard shortcut manager in system settings.

IM Clients

Empathy is still the default IM client on Ubuntu and I’m alright with that because I feel Pidgin has really lost a lot of ground to Empathy. The one feature Empathy still needs to implement to overtake Pidgin is combining contacts – to this day Trillian is the only IM application that achieves this properly. Combined contacts should:

  • Be able to be viewed as a mixed chat log from individual contacts, combined chronologically.
  • Prioritise a particular account protocol.
  • Easy switching and notifications of changing protocol within a single chat window.

Skype support would be lovely too but somewhat of a pipe dream at this point, though Skypekit is available for Linux embedded devices – surely should work on Linux desktop?

Rhythmbox

I can’t believe this issue made it past testing: the bottom of letters which hang below the line are cut off. Minor I know but mind boggling in it’s simplicity.

Chrome

Right-click on the tab-bar and tell it to use system title bar and borders to avoid displaying two title bars in full-screen mode.

Mounting

There really needs to be an easier way to manage mounted partitions in Ubuntu. Disk Utility is an excellent application but I feel it’s usefulness could be extended to managing mounted partitions, it’d be nice if it would automatically mount a particular partition that I use to store my important files but to do this I have to edit fstab – not too much of an issue for me but it’s minor things like this that will confuse Joe Bloggs.