Skip to content

Instantly share code, notes, and snippets.

@eugenetriguba
Last active March 18, 2024 16:10
  • Star 77 You must be signed in to star a gist
  • Fork 15 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save eugenetriguba/beb90e0bca7e5299436693d9b74a9853 to your computer and use it in GitHub Desktop.

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.

Resources

@eugenetriguba
Copy link
Author

eugenetriguba commented Jan 26, 2021

@kvenkman Are you sure this isn't possibly some sort of local issue? I'm not sure what the issue could be, but the page loads for me and I get an email from filling out the form

$ firefox --version
Mozilla Firefox 84.0.2

@kvenkman
Copy link

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.

@daveman1010221
Copy link

Very nice write-up. Thanks.

@majago-cpu
Copy link

majago-cpu commented Feb 17, 2021

Hi! I'm trying to install it in Ubuntu 20.04 too, but every time i try to run the sudo dpkg command, i get

"rm: cannot remove '/usr/local/pulse/libwebp.so.6': No such file or directory"

Getting kind of desperate. Anyone can help?

@himanshutraveloka
Copy link

himanshutraveloka commented Feb 19, 2021

for those who are encountering.
pulsesvc: command not found

cd /usr/local/pulse/
./pulsesvc -K

@da0ist
Copy link

da0ist commented Mar 3, 2021

Hi! I'm trying to install it in Ubuntu 20.04 too, but every time i try to run the sudo dpkg command, i get

"rm: cannot remove '/usr/local/pulse/libwebp.so.6': No such file or directory"

Getting kind of desperate. Anyone can help?

I don't think that is a significant error.

@da0ist
Copy link

da0ist commented Mar 3, 2021

Hangin at the attached screen. Terminal shows:

jeward@T14:~$ vpn

(pulseUi:55106): libsoup-CRITICAL **: 16:23:38.998: soup_cookie_jar_get_cookies: assertion 'SOUP_IS_COOKIE_JAR (jar)' failed

(pulseUi:55106): libsoup-CRITICAL **: 16:23:39.010: soup_cookie_jar_get_cookies: assertion 'SOUP_IS_COOKIE_JAR (jar)' failed

(pulseUi:55106): libsoup-CRITICAL **: 16:23:39.012: soup_cookie_jar_get_cookies: assertion 'SOUP_IS_COOKIE_JAR (jar)' failed

(pulseUi:55106): libsoup-CRITICAL **: 16:23:39.015: soup_cookie_jar_get_cookies: assertion 'SOUP_IS_COOKIE_JAR (jar)' failed

(pulseUi:55106): libsoup-CRITICAL **: 16:23:39.019: soup_cookie_jar_get_cookies: assertion 'SOUP_IS_COOKIE_JAR (jar)' failed

Screenshot from 2021-03-03 16-24-37

@eugenetriguba
Copy link
Author

@da0ist I haven't used Ubuntu in a while so it may be different. But if your version of pulse secure is 9.1r11, there were some significant changes. The maintainer of the arch linux user package for pulse secure (see discussion here https://aur.archlinux.org/packages/pulse-secure/) wasn't able to get the host checker working on that version. I've still been using version 9.1r9

@zenghua-git
Copy link

I'm using it on lunbuntu 20 and encoutered error like:
rm: cannot remove '/usr/local/pulse/libwebp.so.6': No such file or directory

Your solution helped and thanks!

@saliko026
Copy link

wonderful,
thank you very much it was really helpful for me

@trongan93
Copy link

Great,
It works for me on Ubuntu 20.04.2 LTS.
Thanks for your helpful guideline.

@Youw
Copy link

Youw commented May 20, 2021

@eugenetriguba why did you choose to extract packages under /usr/local/pulse/extra and workaround it with LD_LIBRARY_PATH, instead of simply installing those into a system, as usual (i.e. sudo dpkg -i libjavascriptcoregtk-1.0-0_2.4.11-3ubuntu3_amd64.deb libicu60_60.2-3ubuntu3_amd64.deb libwebkitgtk-1.0-0_2.4.11-3ubuntu3_amd64.deb).
Tried installing on my system, and everything works flawlessly so far.

@eugenetriguba
Copy link
Author

@Youw Under the resources section, you'll find this post: https://askubuntu.com/a/1142879

There's another answer in that post that uses your approach: https://askubuntu.com/a/1222612

Either one works fine. I have no strong preference. This gist is just a combination of stuff already out there on the web to put it in one place so I could refer back to it.

@Youw
Copy link

Youw commented May 20, 2021

Sounds reasonable. My preference on the second approach is that it is simply less steps to achieve (practically) same result.
I asked only because I assumed there could be issues with having those packages installed, which I didn't know or didn't face yet.
I guess it makes it "no known issues so far". Thanks.

@eugenetriguba
Copy link
Author

@Youw Agreed. I think simpler is generally better. I'll look into it, try it out, and consider updating the gist if I don't come across any issues. Thanks for bringing it up!

@AlFalahTaieb
Copy link

image
Receiving this after cliking on connect

@Youw
Copy link

Youw commented Jun 16, 2021

sudo apt install libcanberra-gtk-module

@miedzikd
Copy link

miedzikd commented Jul 5, 2021

I sent form from https://www.pulsesecure.net/trynow/client-download/ - but have not recived any email... Maybe this is because Pulse Secure is Ivanti now ;/

@eugenetriguba
Copy link
Author

@miedzikd You can find downloads for it hosted on other sites if needed by doing a web search. For example: http://webdev.web3.technion.ac.il/docs/cis/public/ssl-vpn/ps-pulse-ubuntu-debian.deb

@alexeydemin
Copy link

I faced the [: =: unary operator expected error on my Pop!_OS 20.04 and thanks to the link @eugenetriguba posted above https://community.pulsesecure.net/t5/Pulse-Desktop-Clients/Unable-to-install-on-Ubuntu-18-04-PopOS/m-p/41077/highlight/true#M1087 I was able to make it finally work.
Keep in mind you need to replace OSNAME=$(lsb_release -d | grep -o "Ubuntu") to OSNAME=$(lsb_release -d | grep -o "Ubuntu\|Pop")
in both tmp/DEBIAN/postinst and /usr/local/pulse/PulseClient_x86_64.sh files

@gihandilanka-github
Copy link

@eugenetriguba I downloaded pulse secure deb file from your google drive and installed it. But when I type cd /usr/local/pulse/ in the terminal, I'm getting following error. Please help me to sort this out.
bash: cd: /usr/local/pulse/: No such file or directory

@eugenetriguba
Copy link
Author

@gihandilanka-github They put their files in /opt/pulsesecure. With newer versions, you'll want to make sure you also have their pulsesecure systemd service running as well.

@motoreagattoimburrato
Copy link

Thank you so much buddy, you made my day.

@songsfromthewood
Copy link

songsfromthewood commented Aug 16, 2022

There is an article with version 22.2.R1 of PulseUI
(https://www.cyberithub.com/how-to-install-pulse-secure-vpn-client-on-ubuntu-20-04-lts/

Link to the deb package from article:
https://dl.technion.ac.il/docs/cis/public/ssl-vpn/ps-pulse-ubuntu-debian.deb

I've tried it and it work for me.

@tmuehlhoff
Copy link

Have you considered to use NetworkManager+Openconnect plugin ?
It works fine for me, no need for 3PP SW.

@songsfromthewood
Copy link

Have you considered to use NetworkManager+Openconnect plugin ? It works fine for me, no need for 3PP SW.

Tried console client today. Works with additional parameter --protocol=pulse
Will try with networkmanager tomorrow

@songsfromthewood
Copy link

Have you considered to use NetworkManager+Openconnect plugin ? It works fine for me, no need for 3PP SW.

NetworkManager+Openconnect works.

@babaMar
Copy link

babaMar commented Feb 22, 2023

There is an article with version 22.2.R1 of PulseUI (https://www.cyberithub.com/how-to-install-pulse-secure-vpn-client-on-ubuntu-20-04-lts/

Link to the deb package from article: https://dl.technion.ac.il/docs/cis/public/ssl-vpn/ps-pulse-ubuntu-debian.deb

I've tried it and it work for me.

it seems that the deb package link doesn't work anymore, also I'm not able to access the official download page..

@songsfromthewood
Copy link

There is an article with version 22.2.R1 of PulseUI (https://www.cyberithub.com/how-to-install-pulse-secure-vpn-client-on-ubuntu-20-04-lts/
Link to the deb package from article: https://dl.technion.ac.il/docs/cis/public/ssl-vpn/ps-pulse-ubuntu-debian.deb
I've tried it and it work for me.

it seems that the deb package link doesn't work anymore, also I'm not able to access the official download page..

NetworkManager+Openconnect works. Choose VPN Protocol: "Pulse Connect Secure".
Or you can try to find ps-pulse-ubuntu-debian.deb yourself on another sites.

@packardG
Copy link

Just wanted to share my experience as it was far easier than what was described above.
This is on: Ubuntu 22.04.3 LTS

First, the link to download pulse was immediately accessible and I didn't require any form submission, nor was there any issue accessing the download on Firefox.

Attempted to install with dpkg but was missing a single dependency. YMMV. This was easily installed via apt See below:

$ sudo dpkg -i ps-pulse-linux-9.1r11.4-b8575-64-bit-installer.deb                                                                                                                                                   
Selecting previously unselected package pulsesecure.                                                                                                                                                                                          
dpkg: regarding ps-pulse-linux-9.1r11.4-b8575-64-bit-installer.deb containing pulsesecure, pre-dependency problem:                                                                                                                            
 pulsesecure pre-depends on libnss3-tools                                                                                                                                                                                                     
  libnss3-tools is not installed.                                                                                                                                                                                                             
                                                                                                                       
dpkg: error processing archive ps-pulse-linux-9.1r11.4-b8575-64-bit-installer.deb (--install):
 pre-dependency problem - not installing pulsesecure                                                                   
Errors were encountered while processing:                                                                              
 ps-pulse-linux-9.1r11.4-b8575-64-bit-installer.deb                                                                    

$ sudo apt install libnss3-tools                                                             
Reading package lists... Done                                                                                          
Building dependency tree... Done                                                                                       
Reading state information... Done                                                                                      
The following packages were automatically installed and are no longer required:
  libhiredis0.14 libllvm13                                                                                             
Use 'sudo apt autoremove' to remove them.                                                                              
The following NEW packages will be installed:                                                                          
  libnss3-tools                                                                                                        
0 upgraded, 1 newly installed, 0 to remove and 27 not upgraded. 
Need to get 565 kB of archives.                                                                                        
After this operation, 2,195 kB of additional disk space will be used.                                                  
Get:1 http://us.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 libnss3-tools amd64 2:3.68.2-0ubuntu1.2 [565 kB]                                                                                                                       
Fetched 565 kB in 2s (350 kB/s)                                                                                        
Selecting previously unselected package libnss3-tools.
(Reading database ... 360564 files and directories currently installed.)
Preparing to unpack .../libnss3-tools_2%3a3.68.2-0ubuntu1.2_amd64.deb ...
Unpacking libnss3-tools (2:3.68.2-0ubuntu1.2) ...
Setting up libnss3-tools (2:3.68.2-0ubuntu1.2) ...
Processing triggers for man-db (2.10.2-1) ...

$ sudo dpkg -i ps-pulse-linux-9.1r11.4-b8575-64-bit-installer.deb 
(Reading database ... 360609 files and directories currently installed.)
Preparing to unpack ps-pulse-linux-9.1r11.4-b8575-64-bit-installer.deb ...
Unpacking pulsesecure (9.1.R11) ...
Setting up pulsesecure (9.1.R11) ...
Created symlink /etc/systemd/system/multi-user.target.wants/pulsesecure.service → /lib/systemd/system/pulsesecure.service.
Processing triggers for mailcap (3.70+nmu1ubuntu1) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu3) ...
Processing triggers for desktop-file-utils (0.26-1ubuntu3) ...
Processing triggers for dbus (1.12.20-2ubuntu4.1) ...
Processing triggers for man-db (2.10.2-1) ...

Once installed, I didn't need to do any changes or configuration. I started up the pulse GUI, added my vpn and was in business.

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