Install Citrix Receiver 13.1 on Fedora 21 x64

Since version 13.1 of Receiver, an RPM is no longer available. A tarball is provided that requires some additional 32-bit libraries installing. This guide explains how to install Receiver into 64-bit Fedora and setup the SSL certificates.

For clarity, all downloaded files will be placed into a /shared folder before being used.

Install Citrix Receiver

First, install Citrix Receiver normally. Once installed, the binaries should be located at /opt/Citrix/ICAClient/, we'll call this the Receiver root folder.

At this stage, passing a launch.ica file to wfica.sh on a terminal should spit out errors loading shared libraries:

$ /opt/Citrix/ICAClient/wfica.sh /shared/launch.ica 
/opt/Citrix/ICAClient/wfica: error while loading shared libraries: libXrender.so.1: cannot open shared object file: No such file or directory

Install 32-bit Libraries

Install the following 32-bit libraries:

# yum install libXrender.i686 libXinerama.i686 glib2.i686 gtk2.i686

It's possible that your install requires additional libraries to those listed above. Attempt to run wfica.sh with a launch.ica file until it works or you get an SSL error. Each time you run wfica.sh, it will output an error like above if libraries are missing. You can locate the package you need to install by running:

yum provides */<file_complained_about>

and then install the i686 version of the package:

yum install package_name.i686

Example output of the dependency resolution for libXrender:

$ /opt/Citrix/ICAClient/wfica.sh launch.ica 
/opt/Citrix/ICAClient/wfica: error while loading shared libraries: libXrender.so.1: cannot open shared object file: No such file or directory
$ su -
Password:
# yum provides */libXrender.so.1
Loaded plugins: langpacks
fedora/21/x86_64/filelists_db                             |  25 MB  00:00:20     
rpmfusion-free/21/x86_64/filelists                        | 311 kB  00:00:00     
rpmfusion-free-updates/21/x86_64/filelists_db             | 207 kB  00:00:00     
rpmfusion-nonfree/21/x86_64/filelists                     | 111 kB  00:00:00     
rpmfusion-nonfree-updates/21/x86_64/filelists_db          |  66 kB  00:00:00     
updates/21/x86_64/filelists_db                            |  11 MB  00:00:07     
libXrender-0.9.8-4.fc21.i686 : X.Org X11 libXrender runtime library
Repo        : fedora
Matched from:
Filename    : /usr/lib/libXrender.so.1



libXrender-0.9.8-4.fc21.x86_64 : X.Org X11 libXrender runtime library
Repo        : fedora
Matched from:
Filename    : /usr/lib64/libXrender.so.1



libXrender-0.9.8-4.fc21.x86_64 : X.Org X11 libXrender runtime library
Repo        : @koji-override-0/$releasever
Matched from:
Filename    : /usr/lib64/libXrender.so.1

# yum install libXrender.i686
...

nVidia + Binary Driver Users

If you have an nVidia graphics card and are using the binary drivers from nVidia, you'll want the 32-bit X.Org library:

# yum install xorg-x11-drv-nvidia-libs.i686

Resolving SSL Errors

Firefox View Certificate Dialog

If the CA of your Citrix server is not trusted, you'll get an SSL error when launching .ica files. To resolve this, you need to install the certificate chain until you reach a trusted certificate. The easiest way to obtain the required certificates is to use your web browser. I'll be using Firefox, but Chrome works just as well.

Follow the steps below:

  1. login to your Citrix server as you would normally
  2. click the certificate icon in the address bar, on Firefox this is the padlock to the left of the https:// address
  3. click on 'More Information' followed by 'View Certificate', you should get a dialog like that to the right
  4. starting at the top item in the 'Certificate Hierarchy' list select the certificate and export it to /shared with a relevant name
  5. as root, move the certificate to the Citrix cacerts folder: # mv /shared/mycert.crt /opt/Citrix/ICAClient/keystore/cacerts/
  6. attempt to launch wfica.sh again, repeat steps 4 and 5 moving down the Certificate Hierarchy list until you stop receiving errors

You should now have a fully functional Citrix Receiver.