Cuando se ejecuta el script el proceso valida si existe una instancia corriendo de vpnc, en caso de no existir pregunta con que perfil se quiere conectar.
Tras seleccionar el perfil, solicita la contraseña para poder conectar con la vpn.
En la siguiente ventana muestra el resultado de la conexión.
Si se presenta un error en la conexión lanza una terminal xterm para validar manualmente.
En caso de ejecutar el script y este corriendo una instancia de vpnc pregunta si se quiere detener
Para desconectar solicita la contraseña.
Y notifica el resultado.
El código se encuentra en https://github.com/petrohs/listaVPN
BASE="/tmp/listaVPN/perfiles";
REGISTRO=`ps -fea | grep vpnc | grep -v grep | awk '{print $9}'`
if [ -z "${REGISTRO}" ]
then
cd $BASE
PERFIL=`ls -1 | zenity --list --title="VPNs" --text="No hay VPN en ejecución\n¿Quieres conectar con un perfil?" --column Perfiles 2>/dev/null`
if [ -n "${PERFIL}" ]
then
gksudo -m "Ejecutar 'vpnc-connect $PERFIL'" "vpnc-connect ${BASE}/${PERFIL}" >/tmp/logVPNohs
zenity --text-info --title "Resultado de la conexión" --filename=/tmp/logVPNohs 2>/dev/null
fi
else
zenity --question --title="VPNs" --text="Esta conectado con perfil `basename $REGISTRO`\n¿Quiere detenerlo?" 2>/dev/null
if [ $? -eq 0 ]
then
gksudo -m "Ejecutar 'vpnc-disconnect $PERFIL'" "vpnc-disconnect" >/tmp/logVPNohs
zenity --text-info --title "Resultado de la desconexión" --filename=/tmp/logVPNohs 2>/dev/null
fi
fi