#!/usr/bin/env zsh # 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 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 pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY gpclient connect gp.usu.edu fi