Install Citrix Receiver on CentOS 7
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 >= 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
Hi,
Thanks it works for the installation, but when I want to start the Receiver with /opt/Citrix/ICAClient/selfservice
I have an erreor related to libpng
/opt/Citrix/ICAClient/selfservice: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
Thanks
Paul
@Paul: you’re likely missing some libs. Try:
Thanks for the guide!
I get some errors when i run /opt/Citrix/ICAClient/selfservice on my rhel7 box:
(selfservice:7113): GLib-GObject-WARNING **: specified instance size for type `WebKitWebView’ is smaller than the parent type’s `GtkContainer’ instance size
(selfservice:7113): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)’ failed
(selfservice:7113): GLib-CRITICAL **: g_once_init_leave: assertion `result != 0′ failed
From what i gather its probably gstreamer related, didn’t you have any problems with this? Which gstreamer/gstreamer1 packages do you have installed?
Hi Paul,
I have a issue when I install the 13.0 Ica client on CentOS7. I hope you have an idea.
rpm -i CAClient-13.0.0.256735-0.x86_64.rpm
libwebkitgtk-1.0.so.0 is needed by ICAClient-13.0.0.256735-0.x86_64
I have created the symlink, see my folder contents;
101724237 0 lrwxrwxrwx. 1 root root 35 Oct 9 14:57 libwebkitgtk-1.0.so.0 -> /usr/lib/libwebkitgtk-3.0.so.0.18.9
102285279 0 lrwxrwxrwx. 1 root root 26 Oct 9 14:12 libwebkitgtk-3.0.so.0 -> libwebkitgtk-3.0.so.0.18.9
101448129 30736 -rwxr-xr-x. 1 root root 31473396 Jun 24 09:48 libwebkitgtk-3.0.so.0.18.9
I hope you have an idea.
Best regards,
Pascal
Just to follow up on my problem – i could not get it to work with webkitgtk3.i686, but using webkitgtk (x86_64) it works fine. This package creates the symlink for you too. I should note that I used the latest release, 13.1. 13.0 may not work with this package.
Thanks for the explicit steps. I tried all the steps with ver 13 and installation went smooth but I wasn’t able to run Citrix. I was getting error for libasound_module_ctl_pulse.so. And strangely enough, wfica was searching for it under /usr/lib/alsa-lib even though my machine is 64-bit and I installed 64-bit version of Citrix Receiver. I verified that I have alsa plugin under /usr/lib64
Then I uninstalled ver 13 and tried installing 13.1. And wow! it worked.
[root@localhost admin]# /opt/Citrix/ICAClient/selfservice –icaroot /opt/Citrix/ICAClient
selfservice is unable to find a compatible webkit library and will now exit.
Please install libwebkitgtk-1.0 and restart selfservice.
[root@localhost admin]# /opt/Citrix/ICAClient/selfservice –icaroot /opt/Citrix/ICAClient
selfservice is unable to find a compatible webkit library and will now exit.
Please install libwebkitgtk-1.0 and restart selfservice.
tell me how to fix the error.
I can’t find a solution