Skip to content

Instantly share code, notes, and snippets.

@starfreck
Last active July 5, 2026 20:49
Show Gist options
  • Select an option

  • Save starfreck/985658c5ec1123640a31f8320b9c21a5 to your computer and use it in GitHub Desktop.

Select an option

Save starfreck/985658c5ec1123640a31f8320b9c21a5 to your computer and use it in GitHub Desktop.
Citrix Workspace on Linux (Distrobox + Ubuntu 24.04 + DistroShelf)

This repository documents a working setup of Citrix Workspace (ICAClient) inside a Distrobox container using Ubuntu 24.04, managed with a GUI launcher like DistroShelf.

It solves common issues around missing dependencies, Linux secret storage, and Citrix authentication loops.


πŸš€ Stack Overview

  • Distrobox for containerized Linux environments
  • Ubuntu 24.04 container
  • Citrix ICAClient (Workspace app)
  • DistroShelf for GUI container management

πŸ“¦ Requirements

Make sure you have:

  • Distrobox installed
  • Podman or Docker installed
  • DistroShelf (optional GUI launcher)

🐧 Step 1 - Create Ubuntu 24.04 container

distrobox create --name citrix-ubuntu --image ubuntu:24.04

Enter it:

distrobox enter citrix-ubuntu

πŸ“¦ Step 2 - Install dependencies

Run this inside the container:

sudo apt update && sudo apt install -y \
libsecret-1-0 libsecret-common libsecret-tools \
libasound2t64 libgtk2.0-0t64 libsm6 libice6 \
libxmu6 libxpm4 libidn12 libspeexdsp1 libva2 libva-drm2 libva-x11-2 \
libopenjp2-7 libnotify4 net-tools \
libsoup2.4-1 libwebkit2gtk-4.1-0 \
libcanberra-gtk-module libcanberra-gtk3-module \
pcscd libpcsclite1 libccid

πŸ’» Step 3 - Install Citrix Workspace

Download ICAClient .deb from Citrix and install:

sudo dpkg -i icaclient_*.deb
sudo apt --fix-broken install -y

πŸ” Step 4 - Fix session storage (IMPORTANT)

Citrix requires Linux secret service integration:

sudo apt install -y libsecret-1-0 libsecret-common libsecret-tools

Without this, you may face:

  • login loops
  • SAML redirect issues
  • session not persisting

βš™οΈ Step 5 - Optional library path fix

If Citrix fails to locate internal libraries:

export LD_LIBRARY_PATH=/opt/Citrix/ICAClient/lib:$LD_LIBRARY_PATH

▢️ Step 6 - Run Citrix

GDK_BACKEND=x11 /opt/Citrix/ICAClient/selfservice

Or:

/opt/Citrix/ICAClient/wfica

πŸ–₯️ Step 7 - Use with DistroShelf

Once installed, the container appears in DistroShelf.

You can:

  • Launch citrix-ubuntu
  • Open terminal inside container
  • Run Citrix directly

⚠️ Common Issues

Missing GTK modules

libcanberra-gtk-module
pk-gtk-module

Fix:

sudo apt install libcanberra-gtk-module libcanberra-gtk3-module

Missing VA-API libraries

libva-x11.so.2 missing

Fix:

sudo apt install libva2 libva-drm2 libva-x11-2

Missing Citrix internal library

libpcaclite.so missing

Fix:

  • Reinstall ICAClient
  • Ensure /opt/Citrix/ICAClient/lib exists
  • Do NOT use apt for this

Authentication loop (SAML issue)

If login loops:

  • Install libsecret
  • Ensure cookies enabled
  • Avoid embedded browser blocking sessions

🧠 Key Insights

Citrix issues on Linux fall into 3 categories:

1. System dependencies

Fixed via apt packages (GTK, VA, WebKit, audio)

2. Session storage

Requires:

libsecret-1-0

3. Authentication layer

Not Linux-related:

  • SAML / Entra ID configuration
  • MFA policy mismatch
  • Citrix Gateway integration issues

βœ… Final Result

After setup:

  • Citrix runs inside Distrobox
  • GUI launches successfully
  • ICA sessions work
  • Authentication stabilizes after libsecret fix
  • Fully manageable via DistroShelf

πŸ“Œ Summary

This setup demonstrates that Citrix on Linux requires more than just installing packages:

  • Modern dependency mapping (Ubuntu 24.04 t64 libraries)
  • Secret service integration (libsecret)
  • Proper container environment setup
  • Correct authentication flow handling

Once configured, Citrix runs reliably inside containerized Linux environments.

@starfreck

Copy link
Copy Markdown
Author

Nice, this is working better compared to a native install on 26.04. However, we're making use of the EPA plugin (required). Do you know how to add this properly as well perhaps? I installed it withing distrobox, but then it doesn't detect the plugin.

@xirixiz Do you know which EPA implementation your organization uses?

@xirixiz

xirixiz commented Jul 4, 2026

Copy link
Copy Markdown

@starfreck I have a contact at Citrix. I had to switch back to 24.04 as Citrix will not release a compatible EPA plugin for approx half a year. Thanks for your help and willing to provide support. I`ll try to push it a bit at Citrix ;)

@starfreck

Copy link
Copy Markdown
Author

@xirixiz Thanks for the update! That explains it. Even the organization I work for doesn't officially support or recommend Citrix on Linux at the moment, although it has been working well for me. Hopefully Citrix releases an updated EPA plugin soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment