Skip to content

Instantly share code, notes, and snippets.

@oetiker
Last active April 12, 2024 08:55
Show Gist options
  • Save oetiker/5c487fb3bcaeaeea0d4da139d2b0d056 to your computer and use it in GitHub Desktop.
Save oetiker/5c487fb3bcaeaeea0d4da139d2b0d056 to your computer and use it in GitHub Desktop.
Running the ThinLinc Client on GNU Guix

Running the ThinLinc Client on GNU Guix

GNU Guix is a cutting-edge package manager and operating system distribution built on the principles of software freedom. With Guix, you gain unparalleled control over your system, from the ability to customize packages to effortlessly rolling back system updates if something goes wrong.

ThinLinc is a powerful remote desktop solution for Linux systems, providing secure, efficient, and user-friendly access to centralized Linux environments from anywhere.

Unfortunately Cendio, the company behind ThinLinc insists on NOT makeing their client software available under an open source license. So for the time being there are no official GNU Guix packages for the non-free/binary ThinLinc Client.

Here is how you can run still run the ThinLinc client on GNU Guix:

$ wget https://www.cendio.com/downloads/clients/tl-4.16.0-3389-client-linux-dynamic-x86_64.tar.gz
$ tar zxf tl-4.16.0-3389-client-linux-dynamic-x86_64.tar.gz
$ cd tl-4.16.0-3389-client-linux-dynamic-x86_64
$ guix shell --container --network --preserve='^DISPLAY$' --preserve='^XAUTHORITY$' \
  --expose=$XAUTHORITY --expose=/tmp/.X11-unix --emulate-fhs coreutils bash  libx11 fontconfig -- ./bin/tlclient

PS: I tested this in a guix docker running on ubuntu. But I guess it would work on a real Guix setup too :)

$ docker run --privileged -v /tmp/.X11-unix:/tmp/.X11-unix -v $XAUTHORITY:/root/.Xauthority \
  -e XAUTHORITY=/root/.Xauthority -e DISPLAY=$DISPLAY -h $HOSTNAME  -it metacall/guix:latest
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment