[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Citrix Client

This article describes how to install and configure The Citrix Client on Slackware. Nowadays this client is better known as the “Citrix Receiver”.

Quoting the Citrix web site: “Citrix Receiver is an easy-to-install client software that lets you access your docs, applications and desktops from any of your devices including smartphones, tablets and PCs” - assuming of course that someone (usually your employer's company) has setup a Citrix Server somewhere to which the Receiver can make its remote connections.

Requirements

  • The Citrix Receiver is binary-only proprietary software. Therefore it should not come as a surprise that this Receiver software is 32-bit only. You either need to run 32-bit Slackware, or 64-bit Slackware with added multilib.
  • THe Citrix Receiver is linked against the commercial and binary-only Motif graphical X-Window widget library. This creates an incompatibility with Slackware's own lesstif widget library, a free re-implementation of Motif. You must remove the lesstif package and install a (open)motif package or else the Citrix Client will not run. An openmotif package (openmotif is a non-commercial, free version of Motif) can be found here: http://www.slackware.com/~alien/slackbuilds/openmotif/

Download and install

On the Citrix web site, search for “linux client (32bits)”. At the moment of writing, the search path is:
http://www.citrix.com/downloads/ > “Citrix Receiver” > “Receiver for Linux” > “x86 client - requires OpenMotif v.2.3.1 (tar.gz version)”

Create a temporary directory if you want, and as root, extract the tarball and run the installer:

# mkdir icaclient
# cd icaclient/
# tar xvf  ~/downloads/linuxx86_12.1.0.203066.tar.gz

Run the “setupwfc” program and accept all the default values which it offers. If you do not want to use the default installation directory “/opt/Citrix/ICAClient/” then you will have to define the environment variable “ICAROOT” and point that to your custom installation directory.
The “setupwfc” program will ask you if you desire browser integration and integration with the KDE Desktop Environment. That is good to have so the answer you give is “yes”. As a result, the application links in your company's Citrix Server will automatically work.

  # ./setupwfc

Configuration

The Citrix client/server communication uses SSL encryption. Your company may be using a SSL certificate for which the CA certificate is not yet known to the Citrix Client.

  • When you see the following error message:
    You have chosen not to trust "Thawte Premium Server CA", the issuer of the server's security certificate (SSL error 61).

    then edit this file:

    /opt/Citrix/ICAClient/config/Trusted_Region.ini

    where your company's Citrix Server domain name must be added as trusted proxy:

    ; If you allow a proxy type (Secure or Socks) that uses a server,
    ; you will need to change the ProxyHost line below to indicate which 
    ; servers are trusted, for example:
    ; ProxyHost=,*.mycompany.com:*,*.mypartner.com:*
    ; 
    ProxyHost=,*.yourcompany.com:*
  • Create a certificate directory if that did not yet exist:
    # mdir -p /opt/Citrix/ICAClient/keystore/cacerts
  • Install the missing certificate (must have a “.crt” extension):
    # vi /opt/Citrix/ICAClient/keystore/cacerts/Thawte_Premium_Server_CA.crt
  • You can for instance find this CA certificate here:
    /usr/share/ca-certificates/mozilla/Thawte_Premium_Server_CA.crt

Caveats

If your Mozilla Firefox browser refuses to start the “icaclient” that can be caused by a non-standard language setting. At work I have a localized Linux (configured for dutch language, so my “LANG” environment variable is set to “nl_NL.UTF-8”). This is what I had to do in order to fix this issue:

  • If the file “/usr/bin/firefox” is a script (recent versions of firefox are putting a real binary there instead) you must add this one line somewhere near the beginning:
     export LANG=C
  • If the file “/usr/bin/firefox” is a binary file, then you can for instance modify its desktop file “usr/share/applications/mozilla-firefox.desktop” by changing the executable command
    Exec=firefox %u

    to:

    Exec=LANG=C firefox %u

Sources

 howtos:network_services:citrix_client ()