Disclaimer: This gist is a bit outdated now. The client download page now redirects to a login page that the downloads are guarded behind. You'll want to do a web search for a pulse secure deb file and install that now. Try: http://webdev.web3.technion.ac.il/docs/cis/public/ssl-vpn/ps-pulse-ubuntu-debian.deb. When I installed Pulse Secure 9.1R13, I didn't need to do anything else to get it working.
9.1R13 download: https://drive.google.com/file/d/1xfXsg9aNISAtWUgfVmAWKd_8FE2I_Mbl/view
To install Pulse Secure for Ubuntu 20.04, it is a bit complicated since the support isn't great.
First, we'll want to go through the form at https://www.pulsesecure.net/trynow/client-download/.
You'll get an email with download links to the latest versions of pulse secure. Download the Linux
one with the deb file and then you can install it using dpkg
from your downloads folder.
$ cd ~/Downloads
$ sudo dpkg -i ps-pulse-linux-[your-pulse-version]-ubuntu-debian-64-bit-installer.deb
Now, we'll want to go into the pulse directory and install the dependencies. We update the shell script file first to recognize Ubuntu 20.
$ cd /usr/local/pulse/
$ sudo sed -i "s/UBUNTU_VER\ \=\ 18\ \]/& \|\|\ [\ \$UBUNTU_VER\ \=\ 20 \]/" PulseClient_x86_64.sh
$ ./PulseClient_x86_64.sh install_dependency_packages
$ sudo apt-get install libenchant1c2a
Next, we'll want to create an extras
and debs
folder inside the pulse
folder.
$ sudo mkdir /usr/local/pulse/extra
$ sudo mkdir /usr/local/pulse/debs
Then we'll want to download the following debs into /usr/local/pulse/debs/
.
$ cd /usr/local/pulse/debs
$ sudo wget http://archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu60_60.2-3ubuntu3_amd64.deb
$ sudo wget http://archive.ubuntu.com/ubuntu/pool/universe/w/webkitgtk/libjavascriptcoregtk-1.0-0_2.4.11-3ubuntu3_amd64.deb
$ sudo wget http://archive.ubuntu.com/ubuntu/pool/universe/w/webkitgtk/libwebkitgtk-1.0-0_2.4.11-3ubuntu3_amd64.deb
Next we will extract the debs into the extras folder.
$ cd /usr/local/pulse/extra
$ sudo dpkg -x /usr/local/pulse/debs/libicu60_60.2-3ubuntu3_amd64.deb .
$ sudo dpkg -x /usr/local/pulse/debs/libjavascriptcoregtk-1.0-0_2.4.11-3ubuntu3_amd64.deb .
$ sudo dpkg -x /usr/local/pulse/debs/libwebkitgtk-1.0-0_2.4.11-3ubuntu3_amd64.deb .
Then we'll want to add the library path to our shell startup file and for convience, the pulse secure command can be aliased as well. Likely .bashrc if you're using bash or .zshrc if zsh.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pulse/extra/usr/lib/x86_64-linux-gnu/
alias vpn=/usr/local/pulse/pulseUi
By default, pulse secure will have its output go directly to the terminal from which you ran it from. If you'd like to keep those separate and detach the program from the terminal when you run it, you can instead create the following alias:
alias vpn="nohup /usr/local/pulse/pulseUi >| ~/.pulse_secure/pulse/pulse-output.log &"
(thanks @GreyCardinal!)
Lastly, we want to make sure to source that same shell startup file e.g. source ~/.bashrc
so the changes are loaded. We can then startup the client.
$ vpn
If you get disconnected and the GUI is stuck in a "reconnecting" status, you can use
pulsesvc -K
to kill the process.
I'm able to reproduce the issue on both Ubuntu 18.04 and Windows 10, so I'm not sure? I tried enabling the website cookies and disabling my adblocker, but neither helped.