Citrix EPA Client Install Troubles

Hi All,

I've been trying to install the Citrix EPA Client (following instructions from here: Citrix - ArchWiki) with no success.

Whenever I get to running the command (even though I've also run: 'xdg-mime default nsgcepa.desktop x-scheme-handler/nsgcepa'):

xdg-open nsgcepa://something.com

I get the error:

'couldn't create slave: "klauncher said: Unknown protocol 'nsgcepa'

my nsgcepa.desktop looks like:

Desktop Entry]
Version=1.0.0.38
Name=nsgcepa
Comment=Linux NSG EPA executable
Exec=env LD_LIBRARY_PATH=/opt/Citrix/lib LD_PRELOAD=/opt/Citrix/lib/libcurl.so.4 /opt/Citrix/Browser-EPA/nsgcepa
Icon=
Terminal=False
Type=Application
Categories=Application; Utility;
MimeType=x-scheme-handler/nsgcepa;

my /opt/Citrix/lib has:

libcurl.so.4
libidn.so.11
librtmp.so.0

running:

ldd /opt/Citrix/Browser-EPA/nsgcepa

results in:

/opt/Citrix/Browser-EPA/nsgcepa: ./libcurl.so.4: version `CURL_OPENSSL_3' not found (required by /opt/Citrix/Browser-EPA/nsgcepa)
	linux-vdso.so.1 (0x00007ffdd352b000)

and my ~/.config/mimeapps.list looks like:

[Default Applications]
inode/directory=org.kde.dolphin.desktop;
text/html=google-chrome.desktop
x-scheme-handler/http=google-chrome.desktop;
x-scheme-handler/https=google-chrome.desktop;
x-scheme-handler/nsgcepa=nsgcepa.desktop

What am I doing wrong here?
edit: formatting

3 Likes

Firstly, it's nice to see a well-structured question post! :grin:

Next, just double-check you don't have any typos in the files. For example:

is missing a leading [.

This next step:

is a good idea, though the result of the missing symbol name is likely a "red herring" - you have overridden the curl library in your launcher with:

so that's unlikely to be the issue.

Instead, this part of the wiki page seems most relevant:

Therefore, it might be time to ask your admins?

2 Likes

Appreciate the time for responding. You're more than welcome for a good structured post haha.

Have confirmed no typos, this was just a bad copy paste :slight_smile:

I've used this same nsgcepa to log in with Linux Mint for the last two years - so I can confirm it is enabled for linux. Wanted to make the switch to Garuda, so bit the bullet tonight.

Any other ideas?
edit: typos

1 Like

Interestingly, I suspect it's to do with nsgcepa failing to start.

When I

cd /opt/Citrix/Browser-EPA

and then run

nsgcepa

I get the below:

nsgcepa: /usr/lib/libldap_r-2.4.so.2: no version information available (required by ./libcurl.so.4)
nsgcepa: /usr/lib/liblber-2.4.so.2: no version information available (required by ./libcurl.so.4)
nsgcepa: symbol lookup error: ./libcurl.so.4: undefined symbol: SSLv3_client_method, version OPENSSL_1.0.0

Anyone have any ideas on how to resolve this?

edit:

Have tried the following with no success. As taken from: linux - curl: /usr/local/lib/libldap_r-2.4.so.2: no version information available - Stack Overflow

$ sudo ln -fs /usr/lib/liblber-2.4.so.2 /usr/local/lib/ 
$ sudo ln -fs /usr/lib/libldap_r-2.4.so.2 /usr/local/lib/

Why aren't you trying

rather than just

?

4 Likes

Excuse my ignorance here, as I'm noob. But does that do the same thing? Does running nsgcepa by itself not then run the .desktop which in turn runs that command?

I get the same errors running with that command as an FYI

Probably not.

Desktop launchers are used by e.g. application menus. Executables are the binaries or scripts that can be run by desktop launchers. You can also run executables directly from a command line.

Your $PATH determines which executable is run when you type a command without a full path. For example, /usr/bin/nano and nano will be equivalent as long as /usr/bin is on your $PATH.

The LD_LIBRARY_PATH environment variable overrides the default path that is searched when a binary file is executed; as you have found with ldd, binaries are linked to libraries to provide/include underlying common areas of functionality.

3 Likes

Gotcha - appreciate the info. Still feeling my way around Linux haha.

Such a bummer that this is a blocker :frowning: