The Inferno



The Inferno :: It is a fallacy to state that something exists just because it can’t be proven that it doesn’t
Citrix 11 client on 64 bit Kubuntu

Recently, I had to install the Citrix client to access some Windows Terminal Services from home, for work. The instructions for installing Citrix on 32-bit Linux are fairly straightforward, but on 64-bit Kubuntu, the whole thing fell apart. Here’s what you should do to get it going.

Download the client tarball from citrix.com, linuxx86-11.0.140395.tar.gz in this case.

Untar it to a folder of your choice

cd /tmp

mkdir citrix
mv linuxx86-11.0.140395.tar.gz citrix/
cd citrix

tar xvzf linuxx86-11.0.140395.tar.gz

Now you’ll see some subfolders, including the setupwfc script.

When I launched it with

sudo ./setupwfc

I got the errors:

No target setupwfc.msg found under /tmp/citrix/. for en

No target HINST..msg found under /tmp/citrix for en

My locale is set to English and it’s UTF-8 and Canada and all that, so the script was clearly buggy. But we know shell scripts, so armed with a knife between our teeth, we go pearl-diving.

Open setupwfc in a text editor, kwrite for example and change line 400 from

tr_file "$TR_DIR_KEY" "$FIND_TOP_DIR/nls/${Lang}/$TARGET"

to

tr_file "LDN" "/tmp/citrix/nls/en/setupwfc.msg"

This forces the installer to find the setupwfc.msg file, which is just a silly file with setup messages. This fixes the first line of the error. To fix the second line of the error, the one about the HINST.msg not being found, open /tmp/citrix/linuxx86/hinst and replace line 308, which is

tr_file "$TR_DIR_KEY" "$FIND_TOP_DIR/nls/${Lang}/$TARGET"

with

tr_file "LDN" "/mnt/common/Downloads/citrix/nls/en/hinst.msg"

If you must know, the first argument to tr_file is some sort of key generator and the argument previously passed in was “UDN”, which looked for an uppercase-named file. Passing in “LDN” fixes it, and the second argument is just to eliminate that pesky dot that creeps into the file path. That’s my understanding based on a cursory perusal of the setup file. Any gurus, feel free to correct me.

Now, we get the installer and it actually installs the files into /usr/lib/ICAClient.

But our fun is only just beginning. Manually copy over the files that the wretched installer failed to copy.

sudo cp /tmp/citrix/linuxx86/linuxx86.cor/nls/en/wfclient.ini /usr/lib/ICAClient/config/wfclient.ini
sudo cp /tmp/citrix/linuxx86/linuxx86.cor/nls/en/appsrv.ini /usr/lib/ICAClient/config/appsrv.ini
sudo cp /tmp/citrix/linuxx86/linuxx86.cor/nls/en/module.ini /usr/lib/ICAClient/config/module.ini

Also copy the first two to your local folder.

cp /tmp/citrix/linuxx86/linuxx86.cor/nls/en/appsrv.ini ~/.ICAClient/appsrv.ini

cp /tmp/citrix/linuxx86/linuxx86.cor/nls/en/wfclient.ini ~/.ICAClient/wfclient.ini

Now the client is installed, but still won’t run. You need to install the 32-bit libmotif3 binaries, since the Citrix client is strictly 32 bit. To do that, follow these instructions:

cd /tmp
mkdir motif
cd motif
wget http://ftp.ubuntu.com/ubuntu/pool/multiverse/o/openmotif/libmotif3_2.2.3-2_i386.deb
dpkg -x libmotif3_2.2.3-2_i386.deb .
sudo cp -r usr/lib/* /usr/lib32/
sudo ln -s /usr/lib32/libXm.so.3 /usr/lib32/libXm.so.4

Once you’ve done that, install your trusted certificates in your browser. We’ll assume you use Firefox since that’s what I use. Copy over all your installed certificates:

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

Without this step, you get the dreaded Error 61:

“You have not chosen to trust “XYZ-Trust Authority-TrustCenter-TSL-22”, the issuer of the server’s security certificate (SSL error 61)”

Once all of the above is done, go to the website you can connect to your WTS session from, and in Firefox, set

/usr/lib/ICAClient/wfica

to be the default handler for .ica files.

We’re done, hope this helped someone.

4 Responses to “Citrix 11 client on 64 bit Kubuntu”

  1. Anton Says:

    GREAT! THANKS! IT IS REALY WORK!

  2. Monkeytree Says:

    Wow, thanks for this. Massive help – you cut right to the chase and gave the solution. Kudos!

  3. Viren Says:

    You’re welcome, glad it helped.

  4. dj3mb3 Says:

    Hi, thank you very the tutorial is very great …
    I installed the client on my debian lenny and now wfcmgr works fine.

    I have installed the deb package from the citrix site, and then I have copied the required .ini file and mozilla CA as you sad.

    Nevertheless when I try to open the .ica with firefox I have always this error..
    “The archives required to make an SSL connection are not available. Please contact your MetaFrame administrator.”

    Have any idea to resolve this issue?

    thank a lot

Leave a Reply