Install Citrix Receiver on CentOS 7

Author: | Posted in howto 6 Comments

For those using Citrix Receiver to access resources from a Citrix-powered infrastructure here’s a quick installation guide for the Linux client on the recently released CentOS 7. I tested both release 12.1 and release 13.0 on a fully updated CentOS 7 64-bit instance.

 

Citrix Receiver 12.1

 

  • Download the packages (Receiver client, USB support) from here
  • Current versions on my machine:
pwd
/root/citrix/receiver12
ls -1
ctxusb_2.2-1.x86_64.rpm
ICAClient_12.1.0-0.x86_64.rpm
  • Read the system requirements and install the packages accordingly. Most rpms are available in the official CentOS 7 repository. Alternatively query the client to find its dependencies:
rpm -qp --requires ICAClient_12.1.0-0.x86_64.rpm

libgtk-x11-2.0.so.0
libXt.so.6
libXmu.so.6
libX11.so.6
libXinerama.so.1
libSM.so.6
libXpm.so.4
libXp.so.6
libXext.so.6
libXrender.so.1
libICE.so.6
libdl.so.2
libc.so.6(GLIBC_2.7)
libpthread.so.0
nspluginwrapper
/bin/sh
/bin/sh
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
  • Query your system to locate the required libs. If you can’t find them installed, use yum to find the rpm packages that include them e.g.
yum -d0 whatprovides */libICE.so.6

libICE-1.0.8-7.el7.i686 : X.Org X11 ICE runtime library
Repo        : base
Matched from:
Filename    : /usr/lib/libICE.so.6

libICE-1.0.8-7.el7.x86_64 : X.Org X11 ICE runtime library
Repo        : base
Matched from:
Filename    : /usr/lib64/libICE.so.6
  • Install the rpms available on the CentOS 7 repo (base). Note that Citrix Receiver is a 32-bit application so the dependencies need to be 32-bit too, even when installing the 64-bit client
yum install alsa-lib.i686 motif.i686 gtk2.i686 pcsc-lite-libs.i686 speex.i686 libvorbis.i686 libXpm.i686
  • Install nspluginwrapper from an external resource (this rpm is no longer available with CentOS 7, but the el6 version works well)
yum install ftp://ftp.muug.mb.ca/mirror/centos/6.5/os/i386/Packages/nspluginwrapper-1.4.4-1.el6_3.i686.rpm
  • Create a symbolic link for the plugin wrapper
ln -s /usr/bin/mozilla-plugin-config /usr/bin/nspluginwrapper
  • Install Citrix Receiver and USB support
yum localinstall ctxusb_2.2-1.x86_64.rpm ICAClient_12.1.0-0.x86_64.rpm
  • At this point the packages should install fine. If they fail, try to identify any dependency you might have missed above.

 

Citrix Receiver 13.0

 

  • Download the packages (Receiver client, USB support) from here
  • Current versions on my machine:
pwd
/root/citrix/receiver13
ls -1
ctxusb-2.4.256735-1.x86_64.rpm
ICAClient-13.0.0.256735-0.x86_64.rpm
  • Same as with release 12.1 read the requirements and identify the dependencies. Unlike 12.1, Citrix Receiver 13.0 needs libwebkitgtk-1.0.so.0 which is not available with CentOS 7 or with compatible repositories such as EPEL so I had to use a workaround
yum deplist ICAClient-13.0.0.256735-0.x86_64.rpm

package: ICAClient.x86_64 13.0.0.256735-0
  dependency: /bin/sh
   provider: bash.x86_64 4.2.45-5.el7
  dependency: libICE.so.6
   provider: libICE.i686 1.0.8-7.el7
  dependency: libSM.so.6
   provider: libSM.i686 1.2.1-7.el7
  dependency: libX11.so.6
   provider: libX11.i686 1.6.0-2.1.el7
  dependency: libXext.so.6
   provider: libXext.i686 1.3.2-2.1.el7
  dependency: libXinerama.so.1
   provider: libXinerama.i686 1.1.3-2.1.el7
  dependency: libXmu.so.6
   provider: libXmu.i686 1.1.1-5.1.el7
  dependency: libXpm.so.4
   provider: libXpm.i686 3.5.10-5.1.el7
  dependency: libXrender.so.1
   provider: libXrender.i686 0.9.8-2.1.el7
  dependency: libXt.so.6
   provider: libXt.i686 1.1.4-6.1.el7
  dependency: libc.so.6(GLIBC_2.7)
   provider: glibc.i686 2.17-55.el7
  dependency: libcurl.so.4 &gt;= 7.19.1
   provider: libcurl.i686 7.29.0-19.el7
  dependency: libdl.so.2
   provider: glibc.i686 2.17-55.el7
  dependency: libgtk-x11-2.0.so.0
   provider: gtk2.i686 2.24.22-5.el7_0.1
  dependency: libpthread.so.0
   provider: glibc.i686 2.17-55.el7
  dependency: libwebkitgtk-1.0.so.0
   Unsatisfied dependency
  dependency: libxerces-c-3.1.so
   provider: xerces-c.i686 3.1.1-6.el7
  dependency: nspluginwrapper
   Unsatisfied dependency

  • Install the missing dependencies
yum install webkitgtk3.i686 libxml2.i686 xerces-c.i686 pcsc-lite-libs.i686 alsa-lib.i686
  • Create a symbolic link to libwebkitgtk (CentOS 7 includes a higher version which we can use instead)
ln -s /usr/lib/libwebkitgtk-3.0.so.0.18.9 /usr/lib/libwebkitgtk-1.0.so.0
  • Install nspluginwrapper (this is needed for the automatic *.ica files association in Mozilla Firefox)
yum install ftp://ftp.muug.mb.ca/mirror/centos/6.5/os/i386/Packages/nspluginwrapper-1.4.4-1.el6_3.i686.rpm
  • Create the symbolic link for the plugin wrapper
ln -s /usr/bin/mozilla-plugin-config /usr/bin/nspluginwrapper
  • Install Citrix Receiver and USB support
rpm -ivh ICAClient-13.0.0.256735-0.x86_64.rpm --nodeps
yum localinstall ctxusb-2.4.256735-1.x86_64.rpm
  • Associate *ica files with Citrix in Firefox
cp /opt/Citrix/ICAClient/npica.so /usr/lib/mozilla/plugins
/usr/lib/nspluginwrapper/npconfig -n -i /usr/lib/mozilla/plugins/npica.so
  • Install GTK rpms to suppress warnings when launching from CLI
yum install libcanberra-gtk2.i686 PackageKit-gtk3-module.i686 adwaita-gtk2-theme.i686

Comments
  1. Posted by Paul
    • Posted by admin
  2. Posted by Adam
  3. Posted by Pascal
  4. Posted by Adam
  5. Posted by Anurag Sindhu

Add Your Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.