Sunday 6 May 2012

SSL Error 61 on Citrix Access Gateway with Linux Client

I got the Linux client installed in the previous post, but got some SSL errors when trying to launch apps.
Our certificates are issued by Comodo, and the Linux Citrix client didn't support the root server for some reason.


  • I used Firefox to view the certificate by clicking on the blue part at the start of the URL.
  • Click 'More Information'
  • Click 'View certificate'
  • Click 'Details'
  • Click the Root Certificate at the top of the heirarchy
  • Click 'Export'
  • Save the certificate as type 'X.509 Certificate DER'
  • Save the certificate as 'RootCAName.crt' (Replace RootCAName with actual name)
  • Copy the certificate to /opt/Citrix/ICAClient/keystore/cacerts.
I have read that you can copy the CACerts from Firefox, but I haven't tried that.

Thanks to http://www.itswapshop.com/tutorial/how-install-citrix-receiver-linux-120-opensuse-121 for the pointers.

Citrix Receiver 12.1 on Ubuntu 12.04 x64


I've been playing with a few other operating systems since I hosed my Windows 7 install on my laptop.
We're a commited XenApp house, so I decided to take another stab at getting the Citrix receiver working on Unbuntu 12.04 LTS.

Here's what I did:

Followed the Ubuntu CitrixICAClientHowTo here:

  • https://help.ubuntu.com/community/CitrixICAClientHowTo

The above didn't quite work, so I modified it slightly:

  • Download the latest libmotif3 from:
    • http://nl.archive.ubuntu.com/ubuntu/pool/multiverse/o/openmotif
    • Currently libmotif3_2.2.3-4_i386.deb
  • Install libmotif3 using 'sudo dpkg -i libbmotif*i386.deb'
  • Link it using 'sudo ln -s /usr/lib/libXm.so.3 /usr/lib/libXm.so.4'
  • Download the Citrix Receiver 12.1 client and the USB support package:
    • http://www.citrix.com
    • Downloads
    • Citrix Receiver
    • Linux
    • Download the two x64 packages
  • Install both packages. This will generate errors:
    • The icaclient will complain of an error 2 in post configure
    • The ctxusb package will complain the the icaclient hasn't been configured
  • I found this fix to the error here:
    • http://forums.citrix.com/thread.jspa?threadID=306353
  • You need to edit icaclient.postinst:
  • 'sudo vi /var/lib/dpkg/info/icaclient.postinst'
  • Replace 
    • 'echo $Arch|grep "i[0-9]86 > /dev/null' with
    • 'echo $Arch|grep -iE "x86_64" > /dev/null'
  • Run 'sudo  dpkg --configure icaclient'
  • Run 'sudo dpkg --configure ctxusb'
  • Added a couple of extra packages as suggested:
    • 'sudo apt-get install flashplugin-installer'
    • 'sudo apt-get install curl'
  • Running 'sudo ./opt/Citrix/ICAClient/util/hdxcheck.sh' generated errors about missing libs
    • These missing libs all appear to be in /lib/i386-linux-gnu and the client works so...
  • I didn't run 'sudo apt-get install libmotif4:i386' as I have no plans to run wfcmgr.

Running through our CAG - I get some SSL errors - I'll explain how I fixed this in the next post

Please let me know if you have any luck or not with the above!


Saturday 5 May 2012

How-to Seti@Home on Cloud Ubuntu CLI

I needed to test the performance of a bunch of cloud machines this weekend, and what better way to do that then by running up a whole load of Seti@Home instances.

I did this by following these steps:

  1. sudo apt-get update - Some cloud images were out of date and produced errors if this wasn't run before installing any software.
  2. sudo apt-get install boinc-client - Some Clouds had 12.04 which needed about 350MB of downloads, some had 11.10 which only needed about 250MB.
  3. sudo /etc/init.d/boinc-client restart - Not sure this was really required, but it was a nice check to see that it was installed correctly and would stop and start again.
  4. boinccmd --lookup_account http://setiathome.berkeley.edu email@address password - This returns the authentication code which you need for the next step.
  5. boinccmd --project_attach http://setiathome.berkeley.edu/ authentication_code - This attaches the client to the project. Use a different URL for a different project. This also assumes you have a project username which you used in the previous step.
  6. boinccmd --set_network_mode always - Allows transfers to happen any time. Not sure if this is persistent.
  7. boinccmd --set_run_mode always - Allows the client to run all the time. Again, not sure if persistent.
  8. boinccmd --get_state | more - Make sure that the project has been registered correctly, and that it is getting work-units and tasks.
  9. sudo apt-get dist-upgrade - Most cloud images seemed to have an out-of-date kernel and needed some other stuff after the large download earlier.
  10. sudo reboot - After all that patching, make sure the machines are clean. All the cloud images I was testing had persistent images, so no problems restarting them.
I now have 35 cloud instances of Seti@Home running in addition to my small local server. It was very apparent how much difference there was in each instances performance, with some virtual machines taking 3 time longer to set-up than others.

I've been using the remainder of the £50 credit I got for Infiniserv, and 3 beta instances on the HP cloud.

Have you guys had and differing experiences?