Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save wonrax/ced21fba334b66e5ade7a54de3199215 to your computer and use it in GitHub Desktop.
Save wonrax/ced21fba334b66e5ade7a54de3199215 to your computer and use it in GitHub Desktop.
How I use and troubleshoot CA PAM's problems in Fedora Linux

Installing CA PAM on Windows is quite easy and straightforward. However it took me a while to install and make it work on my new Fedora Linux setup.

Download the installation file

First you need to download the CA PAM Client binary provided by your system, in my case it looks like this (remember to choose Linux x64):

Screenshot from 2023-06-26 14-53-42

You can also download the binaries from here: https://knowledge.broadcom.com/external/article/111772/installing-the-pam-client-on-workstation.html

Install CA PAM

I downloaded the file CAPAMClientInstall_V4.2.0.bin. I couldn't find the instruction for linux so I didn't know how to use this file. So I open the file in neovim and discovered that it's actually a 260k line shell script containing large amount of binaries laid out at the end of the file.

# File CAPAMClientInstall_V4.2.0.bin
#!/bin/sh

PATH=$PATH:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
BLOCKSIZE=32768
CUSTOMFILESIZE=5792
...
#################################################################################################
#
# USE.SH - InstallAnywhere (tm) UNIX Self Extractor Version 18.0
#
# (c) Copyright 2017 Flexera Software LLC All rights reserved.
#
#################################################################################################

GREP="grep"
# /usr/bin/grep is stripped down on Solaris
[ `uname` = "SunOS" -a -x /usr/xpg4/bin/grep ] && GREP=/usr/xpg4/bin/grep

case `uname -s` in
"SunOS") TR="/usr/xpg4/bin/tr"
;;
*) TR="/usr/bin/tr"
;;
esac
...

I chmod +x'ed the file and ran it.

$ chmod +x CAPAMClientInstall_V4.2.0.bin
$ ./CAPAMClientInstall_V4.2.0.bin

Voilà, a setup wizard has appeared.

image

I followed the setup wizard and installed CA PAM in my home dir. If you can not run the installation file, you might have to make sure you have Java installed. Also, I tried installing CA PAM as root (using sudo, and files are installed to /opt), but the app wouldn't start and I don't know why.

I start the app by running the CAPAMClient executable. I enter the host I'm connecting to, update the client when prompted, and fill in my credentials. It logged me in successfully, but...

Blank screen???

Screenshot from 2023-06-26 14-43-29

It should be showing the hosts that I have access to so I can remote to those machines, like in Windows. Instead I was shown nothingness, a blank, empty screen. Not even an error message!

I googled for an hour but found nothing. There's just nothing written about this on the internet. So I ran the executable in terminal to see if it would print out any information. Indeed it did:

2023-06-26 14:33:05 INFO  - 02:33:05 SEVERE: There are next missing dependencies: 
	browsercore64 => libgconf-2.so.4
	libbrowsercore64.so => libgconf-2.so.4     syserr [IPC Process Thread]
2023-06-26 14:33:05 INFO  - 02:33:05 SEVERE: Failed to start IPC process.
java.lang.IllegalStateException: Missing dependendecies have been detected. Check the log for details.
	at com.teamdev.jxbrowser.chromium.internal.ipc.ExternalChromiumProcessLinux.preProcessRun(SourceFile:3150)
	at com.teamdev.jxbrowser.chromium.internal.ipc.ExternalChromiumProcess.doStart(SourceFile:62)
	at com.teamdev.jxbrowser.chromium.internal.ipc.ChromiumProcess.start(SourceFile:235)
	at com.teamdev.jxbrowser.chromium.internal.ipc.d.run(SourceFile:199)
	at java.lang.Thread.run(Thread.java:748)     syserr [IPC Process Thread]

These logs are also written to the file logs.log inside the directory where you installed the app to. I see that libgconf-2.so.4 is a shared dependencies between browsercore64 and libbrowsercore64.so, and is missing!

Just a couple of minutes of googling later, I found a question on stackoverflow and the instruction to grab the dependency on Fedora:

https://stackoverflow.com/questions/37624225/shared-libraries-libgconf-2-so-4-is-missing

I ran sudo dnf install GConf2 and tried starting the app again. It works. Everything works. RDP works, mounting works. I finally can get back to working. I feel relief.

I like it that I got to work in a native linux environment again, but at what cost?

I have a intense love–hate relationship with WSL, but maybe it's the best solution out there.

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