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