Thursday, July 11, 2013

Howto Install Citrix client on Ubuntu 12.04 LTS!

I needed to install citirix Receiver for Linux my system has Ubuntu 12.04 LTS. Please if you are trying to install and are going to use this instructions, read everything prior to trying any of this. You might be able to skip some of the steps that I used but I do not think they are needed, any way this is to help I am not responsible for your use of it, so with that good luck!

I searched and found one page for 12.0 (this: http://www.citrix.com/downloads/citrix-receiver/legacy-client-software/receiver-for-linux-120.html) and one for 12.1 (http://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-121.html)

Decided to install the 12.1 deb pkg which this is the download link: http://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-121.html#ctx-dl-eula

I only downloaded it as the howto suggested to install other packages for citrix client to work.

Ok then I proceeded to install the other packages I searched for how others had installed citrix and found these pages:

https://help.ubuntu.com/community/CitrixICAClientHowTo
http://support.citrix.com/article/CTX125285

Therefore as ICAClient needs FFmpeg and others suggested I needed ibmotif4:i386 I installed only ibmotif4:i386 as ffmpeg was already installed (I looked in software center->installed programs and search for FFmpeg). to install libmotif4:i386 i used the following command:
sudo apt-get install libmotif4:i386

Alright then tried to install the citrix package I downloaded (went into the download folder clicked on the file, software center opened and follow instructions to install) but it would give me the following and not finish installing and would say:
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

Not only that but would not let me install anything else initially to at least fix my problem about installing other packages I used this command:
sudo apt-get remove icaclient

Which then allowed me to install other programs later I tried re-installing but would get the same problem so I searched and found this page: http://www.unixmen.com/issue-installing-citrix-client-for-ubuntu-64-bit/
but when trying to do this comand:
sudo vim /var/lib/dpkg/info/icaclient.postinst

would tell me I do not have vim. As vim is just a word processor I then just used this instead:
gksudo gedit /var/lib/dpkg/info/icaclient.postinst

Which opens a text editor and the did what the instructions said which is - find:
echo $Arch|grep "i[0-9]86" >/dev/null

Pay attention that it says exactly the same as above and replace with:
echo $Arch|grep -E "i[0-9]86|x86_64" >/dev/null

save  and exit, then use this command:
sudo dpkg --configure icaclient

it may appear to do nothing but it worked now it was installed and I could also install other programs after that. So though I was done.... well NO! I wen to the website to open the citrix app and would tell me the following: Entrust.net Certification Authority (2048)", the issuer of the server's security certifcate (SSL error 61). Tried this:
sudo cp /usr/share/ca-certificates/mozilla/* /opt/Citrix/ICAClient/keystore/cacerts suggested by this page: https://help.ubuntu.com/community/CitrixICAClientHowTo and this page: https://help.ubuntu.com/community/CitrixXenAppPlugin to import certificates, but none worked. So I think you could skip this step, but keep it in  mind.

Then searched more which got me to this page: http://techcell.chaseoriginal.com/technotes/install-citrix-receiver-on-64bit-ubuntu/ and used the following command:
sudo apt-get install nspluginwrapper

but the result of that told me it was already installed. Also I did not put the libmotif4 as the other had installed a libmotif. So not sure you need this step, but keep it in  mind.

I also used this:
sudo apt-get install libmotif4 flashplugin-installer curl nspluginwrapper ia32-libs libmotif4:i386

Which installed some more stuff, but did not fix the security issue. So I think you could also skip this step, but keep it in  mind.

Then went back to this page https://help.ubuntu.com/community/CitrixXenAppPlugin which I had tried before and used again this commands but with these commands I ONLY used sudo where is written (initially tried with all the commands and did not work):

SOURCE_URI="https://www.entrust.net/downloads/binary/entrust_2048_ca.cer"
SOURCE_URI="https://www.entrust.net/downloads/binary/entrust_2048_ca.cer"
SOURCE_FN="$(basename ${SOURCE_URI})"

On this howto it suggested to use this command but it was not working therfore figure out that on my install the citirix client must have gotten placed somewhere else. Therefore looked for the folder/directory where ICAclient (citrix was installed) using this comand:
sudo find / -name 'ICAClient'

Got this:
/opt/Citrix/ICAClient

Then I made sure that the folder /keystore/cacerts existed within ICAclient and then put that on the following command:
TARGET_DIR="/opt/Citrix/ICAClient/keystore/cacerts"

Then
TARGET_FP="${TARGET_DIR}/${SOURCE_FN}"
sudo wget -c -O ${TARGET_FP} ${SOURCE_URI}

This following cmd is to list where the certificate was installed:
sudo ls -al ${TARGET_FP}

Then went to try again and it worked! so hope it works for you too, good luck! If this instructions helped and you feel like it you can donate! (see link on the side)

5 comments:

Con Catto said...

$ sudo wget -c -O ${TARGET_FP} ${SOURCE_URI}

When I tried the command above, got this error "wget: missing URL". I don't know which URL to use here. Please help.

Con Catto said...

Try this command:
$ sudo wget -c -O ${TARGET_FP} ${SOURCE_URI}

and got this error:
wget: missing URL

Any idea as to which URL to use?

Crazyeagle said...

This ("https://www.entrust.net/downloads/binary/entrust_2048_ca.cer") is the url that you are asking for. What the prior commands to the final command"sudo wget -c -O ${TARGET_FP} ${SOURCE_URI}", are doing is establishing the parameters for that last command to get the certificate from that url and then put the certificate in the right folder. So in sum the commands should be:


SOURCE_URI="https://www.entrust.net/downloads/binary/entrust_2048_ca.cer"
SOURCE_FN="$(basename ${SOURCE_URI})"
TARGET_DIR="/opt/Citrix/ICAClient/keystore/cacerts"
TARGET_FP="${TARGET_DIR}/${SOURCE_FN}"
sudo wget -c -O ${TARGET_FP} ${SOURCE_URI}


BIG BUT you have to MAKE SURE the path for the target directory (meaning where citrix was installed) is right. Therefore the command: sudo find / -name 'ICAClient' would be important, as it will help you locate the installation path where citrix is and where it needs the certificate. Therefore alter the command: TARGET_DIR= to point to the right path(directory) and therefore get the certificate into the right folder. Hope this helps

kt adams said...

IT worked like a charm. I am using 13.04, I'm not a linux/ubuntu pro by any stretch of the imagination, but I can research, copy and paste. I am using chromium instead of firefox, and citrix worked after I replaced the line in the postinst.

Anonymous said...

Thanks, but this didn't work for me :(.