Installing the XNAT Desktop Client
The XNAT Desktop Client is available for use on modern Mac, Windows and Linux operating systems, though the installation methods and requirements differ for each system.
Mac OS Installations
The XNAT Desktop Client for Mac OS includes an embedded Java Runtime Environment. There have been known issues accessing this bundled resource in virtualized Mac environments, so we strongly recommend only installing the client on a native Mac OS.
Installation is very straightforward.
- Download the .DMG file from download.xnat.org/desktop-client
- Open the .DMG file and drag the app into your Applications folder
- Open the application for the first time
- If you get a security warning when trying to launch this application, open System Preferences > Security > General. You should see a message about this app and the option to "Open Anyway".
Opening the application for the first time will install file-handling support for all your browsers so that image session download requests from the XNAT web app will open in your desktop client.
Windows Installations
The XNAT Desktop Client for Windows includes an embedded Java Runtime Environment. There have been known issues accessing this bundled resource in virtualized Windows environments, so we strongly recommend only installing the client on a native Windows OS.
Installation is very straightforward.
- Download the .exe file from download.xnat.org/desktop-client
- Open the .exe file , which launches the one-step installer
Installing the application will install file-handling support for all your browsers so that image session download requests from the XNAT web app will open in your desktop client.
Linux Installations
Linux users must have a compatible JRE installed in order to use the XNAT Desktop Client.
The XNAT Desktop Client for Linux is distributed as an AppImage, which is an executable application that does not need a separate installation step. For more on working with AppImage files, see the AppImage documentation.
The basic process for configuring and running the desktop client on linux is as follows:
- Verify that your server supports the C++ ABI version 1.3.9
- Install a Java 8 JRE
- Link the server libraries for your JRE to
/opt/java/linux-x64/jre/lib/amd64/server
- Download the .AppImage file from download.xnat.org/desktop-client
- Make the .AppImage file executable
- Run the .AppImage file
Running the application for the first time will install file-handling support for all your browsers so that image session download requests from the XNAT web app will open in your desktop client.
Before doing any configuration or installation of anything, you should ensure that the libstdc++ library on your machine supports C++ ABI 1.3.9. You can verify this by first locating the library, then searching for the string CXXABI_1.3.9:
$ find /usr/lib /usr/lib64 -name libstdc++.so.6
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep CXXABI_1.3.9
CXXABI_1.3.9
If you don't see CXXABI_1.3.9, you won't be able to run the XNAT desktop client on that machine. This is not an issue with the desktop client itself but with the Electron framework on which the desktop client runs. Server platforms and versions that are known not to support C++ ABI 1.3.9 include:
- RHEL/CentOS 7.x (and earlier)
- Fedora 19 (and earlier)
Server platforms and versions that are known to support C++ ABI 1.3.9 include:
- Ubuntu 18.04 and later
- CentOS 8
How you should install the JRE or JDK can vary based on your OS platform and version. For example, you can install the Java 8 JRE on Ubuntu 20.04 with the following command:
Installing JRE on Ubuntu 20.04
sudo apt install openjdk-8-jre
You then need to link the server libraries from that folder to a location where the desktop client can find it. Since different platforms end up installing JREs/JDKs to different root paths and folders, the application looks in a folder that can be common across platforms. The code below shows how this can be configured on Ubuntu 20.04 (note that you'll either need to preface each command with sudo
or perform these commands as root
):
$ mkdir -p /opt/java/linux-x64/jre/lib/amd64
$ ls -l /usr/lib/jvm
total 4
lrwxrwxrwx 1 root root 20 Apr 21 06:46 java-1.8.0-openjdk-amd64 -> java-8-openjdk-amd64
drwxr-xr-x 7 root root 4096 May 24 12:53 java-8-openjdk-amd64
$ find /usr/lib/jvm/java-8-openjdk-amd64 -name server
/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server
$ ln -s /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server /opt/java/linux-x64/jre/lib/amd64/server
Once you've linked the JRE and downloaded the XNAT desktop client AppImage file, make the image executable:
chmod +x XNAT-Desktop-Client-2.0.4.AppImage
You should now be able to run with this command:
./XNAT-Desktop-Client-2.0.4.AppImage