#!/usr/bin/env zsh exec >(systemd-cat -t gpclient -p info) 2>&1 # Toggles the GlobalProtect VPN connection on and off # Get the current state of the VPN connection if pgrep gpclient &>/dev/null; then # VPN is connected, so disconnect echo "Disconnecting from VPN..." pkexec env TZ=Etc/UTC gpclient disconnect else # VPN is disconnected, so connect echo "Connecting to VPN..." # pkexec doesn't pass the DISPLAY and XAUTHORITY environment variables, so we need to pass them manually TZ=Etc/UTC sudo /usr/sbin/gpclient --fix-openssl connect gp.usu.edu fi