Note: This project is not continued, since my employer switched to VMware Horizon. I still accept pull requests. If you need a more up to date version, either update yourself and send me a pull request, or look at the forks, or see Marvin's different client, which he will continue to support.
Citrix icaclient is a terribly bad designed an terribly bad implemented tool for remote desktop connections. It is a 32-bit Firefox plugin, even on 64-bit Linux systems, so it corrupts your operating system, or at least your Firefox installation. Even then, it need fixes and most of the time, it does not work. Still I have to use it on work. So I want to run it in a well defined environment: Encapsulate in a docker container.
In the CITRIX LICENSE AGREEMENT
stored in file LICENSE
, there is no
prohibition of distribution of the icaclient. So i suppose, I am
allowed to distribute it, als long as you follow the license
restrictions, i.e. you only use it for the Citrix products it is
intended to be used with. Therefore the icaclient is part of this
repository. So you must accept the LICENSE
if you use this docker
container.
Otherwise, you could also download the client from:
https://www.citrix.de/downloads/citrix-receiver/linux/receiver-for-linux-1321.html
As usual: docker build --rm --force-rm -t mwaeckerlin/icaclient .
Since it is an X11 GUI software, usage is in two steps:
-
Run a background container as server (only required once).
docker run -d --name icaclient mwaeckerlin/icaclient
-
Connect to the server using
ssh -X
(as many times you want). Logging in withssh
automatically opens a firefox windowssh -X browser@$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' icaclient)
-
Configure firefox (only the first time you created a container):
- Open about:addons in the URL bar
- Set ica-client to
allways activate
-
Browse to your ICA service, start the client and enjoy.
You can configure firefoy and set bookmarks. As long as you don't remove the container and you reuse the same container, al your changes persist. You could also tag and push your configuration to a registry to backup (should be your own private registry for your privacy).