Parmi mes clients qui utilisent Linux sur leur poste de travail ou leur portable pour travailler au quotidien, j’en ai deux qui doivent se connecter à une plateforme de comptabilité en ligne, ce qui se fait par le biais de l’application Citrix Workspace (anciennement Citrix Receiver). Citrix Workspace constitue la partie client du Citrix Virtual Desktop. Ce type de configuration est assez populaire auprès des cabinets comptables.
L’installation de cette application sur un poste de travail Rocky Linux 8 n’est pas une tâche tout à fait triviale, ce qui est principalement dû au fait que la documentation fournie par Citrix n’est pas d’une grande utilité (pour le dire poliment). Voici donc une petite synthèse de tout ce qu’il faut faire pour faire fonctionner Citrix Workspace sous Linux.
Prérequis
Créer un utilisateur système citrixlog
et un groupe système correspondant :
# groupadd -g 900 citrixlog # useradd -c "Citrix" -d /var/log/citrix -s /sbin/nologin \ -g citrixlog -u 900 citrixlog
En temps normal, cette opération est censée être gérée par le script d’installation du paquet Citrix. Il vaut mieux l’effectuer manuellement, pour plusieurs raisons :
- Le script du paquet crée l’utilisateur
citrixlog
avec un UID supérieur à 1000 comme n’importe quel utilisateur physique du système. - De même, le groupe système
citrixlog
est créé avec un GID supérieur à 1000. - Il en résulte que l’utilisateur
citrixlog
s’incruste joyeusement dans la fenêtre de connexion de SDDM. - Non content de cela, le script de création des utilisateurs déclenche une flopée d’alertes SELinux.
Téléchargement
Le site de Citrix n’est pas exactement un modèle de clarté, et on s’y perd un peu :
- Ouvrir la page d’accueil du site de Citrix.
- Suivre le lien Products > Download Citrix Workspace App.
- Cliquer sur Download.
- Suivre les liens Workspace app for Linux > Citrix Workspace app 2212 for Linux.
- Repérer la section Available Downloads et suivre les liens RPM Packages > RedHat Full Package > Citrix Workspace app for Linux (x86_64) > Download File.
- Télécharger le fichier
ICAClient-rhel-22.12.0.12-0.x86_64.rpm
.
Installation
Vérifier si les dépendances du paquet sont satisfaites :
# rpm -ivh --test ICAClient-rhel-22.12.0.12-0.x86_64.rpm Verifying... ################################# [100%] Preparing... ################################# [100%]
Installer le paquet :
# rpm -ivh ICAClient-rhel-22.12.0.12-0.x86_64.rpm Verifying... ################################# [100%] Preparing... ################################# [100%] Updating / installing... 1:ICAClient-22.12.0.12-0 ################################# [100%] useradd: user 'citrixlog' already exists ctxlogd.service is not a native service, redirecting to systemd-sysv-install. Executing: /usr/lib/systemd/systemd-sysv-install enable ctxlogd
Tous les fichiers du paquet sont rangés dans l’arborescence /opt/Citrix/ICAClient
.
Tester l’installation
Le répertoire /opt/Citrix/ICAClient/util
propose un script workspacecheck.sh
pour tester les prérequis de l’environnement :
# ./workspacecheck.sh
==========================================================
= Pre-requisite check for the Citrix Workspace for Linux =
==========================================================
-------------------------------
-- Client Information... -
-------------------------------
Client version:
22.12.0.12
Install location:
/opt/Citrix/ICAClient
-------------------------------
-- Checking Kernel Version... -
-------------------------------
Success, a compatible kernel version(4.18.0) has been found.
...
J’obtiens un avertissement quant à la bibliothèque manquante libcanberra-gtk2
:
# dnf install -y libcanberra-gtk2
Utilisation
À partir de là, l’application est opérationnelle. Pour se connecter à un bureau distant Citrix, il suffit de lancer un navigateur web sur le lien correspondant :
On récupère un fichier .ica
qui est correctement associé à Citrix Workspace :
Fournir les certificats nécessaires
Au moment de la connexion initiale, on peut se retrouver confronté à une erreur SSL comme celle-ci :
Pour remédier à ce problème, je me rends sur le site de l’autorité de certification en question (en l’occurrence GoDaddy), je copie le lien du certificat manquant et je le récupère pour l’installer directement dans Citrix Workspace :
# cd /opt/Citrix/ICAClient/keystore/cacerts/ # wget -c https://certs.godaddy.com/repository/gdig2.crt.pem
La rédaction de cette documentation demande du temps et des quantités significatives de café espresso. Vous appréciez ce blog ? Offrez un café au rédacteur en cliquant sur la tasse.
3 commentaires
Emmanuel · 7 décembre 2022 à 23 h 03 min
Merci pour cette documentation !
Mais quelle est votre expérience utilisateur de Citrix Workspace sous Rocky Linux 8 ?
De mon côté, j’ai installé le Client Citrix sous Ubuntu 22.04 LTS.
Et le moins que je puisse dire est que l’expérience utilisateur sous Ubuntu est (très) perfectible, bien en retrait de celle que je peux avoir sous Windows.
Difficultés de sélection des fenêtres, problèmes de copier-coller, pollution d' »Activities » par les applications exposées par le serveur Citrix…
Les 2 « mondes » semblent étonnamment peu compatibles. Et quand je suis connecté à 2 serveurs Citrix différents au même moment, l’exercice vire pratiquement à la torture.
Bon, je n’ai pratiquement pas lu la documentation, il y a peut-être un espoir de ce côté là… !?
kikinovak · 8 décembre 2022 à 8 h 19 min
En ce qui me concerne, j’ai assez peu de considération pour ce genre de bousin propriétaire documenté avec les pieds, empaqueté n’importe comment et qui m’oblige à sauter à travers des cerceaux en feu pour fonctionner correctement. Cet article se veut avant tout pragmatique. J’ai deux clients qui utilisent Linux au quotidien sur leur poste de travail, et l’un des prérequis du cahier des charges, c’était la possibilité de se connecter à distance au serveur du cabinet comptable. À partir du moment où ça a fonctionné, je n’ai pas cherché plus loin.
tof843 · 2 janvier 2023 à 10 h 47 min
Bonjour et très bonne année.
Pour ma part, j’utilise Citrix Workspace depuis quelques temps sous linux (Arch). Surtout cela me permet de tester les connexions aux applis des users. Cela fonctionne correctement, sans plus,