Hice algunos cambios en la respuesta proporcionada, porque si vale la pena hacer algo, vale la pena hacerlo en el suelo. Quería volver a conectar si se eliminó la VPN, pero NO volver a conectarme si la VPN se desconectó intencionalmente. La solución que se me ocurrió fue efectiva y poco elegante.
Primero agregué ganchos al inicio y apagado de pppd para realizar un seguimiento del estado de VPN deseado. Estos archivos deben ser propiedad de la raíz y tener permisos de lectura / ejecución ( sudo chmod 755 /etc/ppp/ip-*
).
/ etc / ppp / ip-up:
#!/bin/sh
echo true > /var/run/reconnect_vpn
chmod 644 /var/run/reconnect_vpn
/ etc / ppp / ip-down: para OS X 10.9.5 e inferior
#!/bin/sh
tail /var/log/ppp.log | grep '\[DISCONNECT\]'
if [ $? == 0 ] ; then
echo false > /var/run/reconnect_vpn
fi
/ etc / ppp / ip-down: para OS X 10.10 y superior
#!/bin/sh
tail /var/log/ppp.log | grep '\[TERMINATE\]'
if [ $? == 0 ] ; then
echo false > /var/run/reconnect_vpn
fi
Luego, modificando el AppleScript anterior, pude verificar la variable de estado '/ var / run / reconnect_vpn' para determinar si debo realizar una copia de seguridad de la VPN:
on idle
tell application "System Events"
tell current location of network preferences
set myConnection to the service "VPN"
set startOnLogin to true
local doReconnect
try
set doReconnect to (do shell script "cat /var/run/reconnect_vpn")
on error errMsg
set doReconnect to startOnLogin
end try
if myConnection is not null and doReconnect then
if current configuration of myConnection is not connected then
connect myConnection
end if
end if
end tell
return 120
end tell
end idle
Como antes, cambia la línea set myConnection to the service "VPN"
a como se llame tu VPN. Además, al iniciar el sistema, el archivo 'reconnect_vpn' no existe, así que agregué un booleano (startOnLogin) para que actúe como predeterminado cuando no se puede encontrar el archivo. Me gusta comenzar de inmediato, pero si no lo haces, entonces cambia a falso.
Tengo la sensación de que si el tipo de persona es el tipo de persona que trata sobre la VPN, entonces también es el tipo de persona al que le gusta andar a tientas hasta encontrar una solución y, por lo tanto, esta respuesta no tiene audiencia. Pero por si acaso, aquí está. Espero que ayude a alguien.