GlobalProtect VPN plugin for NetworkManager

apt repository for Ubuntu and RPM repository for Fedora, EL 10 and openSUSE and pacman repository for Arch Linux — SAML/SSO GlobalProtect connections in GNOME Settings and KDE Plasma.

Install on Ubuntu

# old one-line setup from earlier instructions, if present
sudo rm -f /etc/apt/sources.list.d/gpclient.list /usr/share/keyrings/gpclient-archive-keyring.gpg
sudo install -d -m 0755 /etc/apt/keyrings
sudo curl -fsSLo /etc/apt/keyrings/gpclient-archive-keyring.gpg \
  https://wmp.github.io/GlobalProtect-SAML-NetworkManager/gpclient-archive-keyring.gpg

sudo tee /etc/apt/sources.list.d/gpclient.sources > /dev/null <<EOF
Types: deb
URIs: https://wmp.github.io/GlobalProtect-SAML-NetworkManager
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: main
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/gpclient-archive-keyring.gpg
EOF

sudo apt update
sudo apt install network-manager-gpclient-gnome    # GNOME, MATE, Cinnamon, XFCE
# or
sudo apt install network-manager-gpclient-plasma   # KDE Plasma
# or, on KDE neon (Ubuntu 24.04 with Plasma 6), amd64 only
sudo apt install network-manager-gpclient-plasma-6

Then add the VPN in your desktop's network settings: Add VPN → GlobalProtect, enter the portal address, connect.

Available releases

UbuntuVersion
jammy2.0.0~jammy1
noble2.0.0~noble1
oracular1.5.0-1~oracular1
resolute2.0.0~resolute1

Architectures: amd64 and arm64.

Install on Fedora, EL 10 and openSUSE

Every package and the repository metadata are signed. Pick the target of your distribution in the table below (fedora43, fedora44, fedora45, el10, leap16.0, leap16.1 or tumbleweed).

# Fedora
sudo curl -fsSL -o /etc/yum.repos.d/network-manager-gpclient.repo \
  https://wmp.github.io/GlobalProtect-SAML-NetworkManager/rpm/fedora$(rpm -E %fedora)/network-manager-gpclient.repo
sudo dnf install network-manager-gpclient-gnome    # or network-manager-gpclient-plasma (KDE Plasma 6)

# AlmaLinux, Rocky Linux, RHEL 10: EPEL and CRB are needed for the dependencies
sudo dnf install epel-release && sudo /usr/bin/crb enable
sudo curl -fsSL -o /etc/yum.repos.d/network-manager-gpclient.repo \
  https://wmp.github.io/GlobalProtect-SAML-NetworkManager/rpm/el10/network-manager-gpclient.repo
sudo dnf install network-manager-gpclient-gnome

# openSUSE Leap 16.0 (leap16.0), Leap 16.1 (leap16.1) or Tumbleweed (tumbleweed)
sudo zypper addrepo https://wmp.github.io/GlobalProtect-SAML-NetworkManager/rpm/tumbleweed/network-manager-gpclient.repo
sudo zypper refresh
sudo zypper install network-manager-gpclient-gnome

Available releases

DistributionTargetVersion
Fedora 43fedora432.0.0
Fedora 44fedora442.0.0
Fedora 45fedora452.0.0
EL 10el102.0.0
openSUSE Leap 16.0leap16.02.0.0
openSUSE Leap 16.1leap16.12.0.0
openSUSE Tumbleweedtumbleweed2.0.0

Architectures: x86_64 and aarch64. The public key is rpm/RPM-GPG-KEY-gpclient.

Install on Arch Linux

Every package and the repository database are signed. Add the key to pacman first, then the repository (x86_64 only).

sudo curl -fsSLo /tmp/gpclient.gpg https://wmp.github.io/GlobalProtect-SAML-NetworkManager/arch/GPG-KEY-gpclient
sudo pacman-key --add /tmp/gpclient.gpg
sudo pacman-key --lsign-key 0B1576481769E7AFE64474F79B008AF286AE78D0

sudo tee -a /etc/pacman.conf > /dev/null <<'EOF'

[gpclient]
SigLevel = Required
Server = https://wmp.github.io/GlobalProtect-SAML-NetworkManager/arch/$arch
EOF

sudo pacman -Syu network-manager-gpclient-gnome    # or network-manager-gpclient-plasma (KDE Plasma 6)

Newest version: 2.0.0-1. The public key is arch/GPG-KEY-gpclient.

Uninstall

# the desktop packages depend on the core package and are removed with it
sudo apt remove network-manager-gpclient
sudo rm -f /etc/apt/sources.list.d/gpclient.sources /etc/apt/keyrings/gpclient-archive-keyring.gpg /etc/apt/sources.list.d/gpclient.list /usr/share/keyrings/gpclient-archive-keyring.gpg
sudo apt update

RPM systems: sudo dnf remove network-manager-gpclient (sudo zypper remove network-manager-gpclient on openSUSE), then remove /etc/yum.repos.d/network-manager-gpclient.repo or the zypper repository.

Arch Linux: sudo pacman -Rs network-manager-gpclient-gnome network-manager-gpclient (or the plasma package), then remove the [gpclient] section from /etc/pacman.conf.

Signing key

Packages and indexes are signed with:

0B1576481769E7AFE64474F79B008AF286AE78D0

The key is used for signing this repository only.