¿Actualizar automáticamente mi conexión WiFi a través de un script?

2

Estoy usando Mac 10.9.5. Cuando estoy en un Starbucks, mi computadora se conectará automáticamente a su red WiFi. Sin embargo, después de una hora, lo inician y, aunque todavía está conectado a su red, debajo del icono "WiFi" en sus preferencias de Sistema de red, ahora tiene una "IP autoasignada" y no puede conectarse a Internet. La única forma de reconectarse es hacer clic en el botón "Desactivar Wi-Fi" y luego hacer clic en el botón "Activar Wi-Fi" para volver a habilitar las cosas.

Mi pregunta es, ¿cómo escribo un script para que haga esto automáticamente por mí? Lo que me gustaría es un script ejecutado en segundo plano si estoy conectado a una red llamada "Google Starbucks" y luego, si el script notificó que tengo una "IP autoasignada", apagaré el wi-fi y lo devolveré de nuevo sin que tenga que hacer nada.

    
pregunta Dave 16.03.2015 - 22:37

3 respuestas

2

En el uso de AppleScript: do shell script "networksetup -setairportpower en0 off; sleep 2; networksetup -setairportpower en0 on" , aunque es posible que tenga que cambiar en0 al adaptador apropiado que puede obtener de la Utilidad de red.

Si lo desea en un script BASH, no use la parte do shell script y el resto puede estar en una línea o elimine el ; agregando una nueva línea en ese lugar. Si lo desea, puede intercambiar el display dialog ... en el script de Buscar 웃.

    
respondido por el user3439894 16.03.2015 - 23:34
1

Aquí está la parte 1 del script.

Supervisará si estás conectado a Internet y te avisará cuando no lo estés.

repeat
    try
        do shell script "ping -c 5 google.com"
    on error
        display dialog "You are not connected to the internet"
    end try
end repeat

Ahora puede apagar / encender el WiFi (honestamente, eso es fácil de hacer) o si debe, puede escribir la segunda parte del script.

    
respondido por el Buscar웃 16.03.2015 - 23:13
1

¿Qué tal una aplicación Applescript? Corriendo cada 10 segundos. Eso comprueba la IP y comprueba el SSID

    on idle
            set checkSSID to (do shell script "/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I |grep ' SSID:'|awk -F:\  '{print  $2}' ")

            set checkIp to do shell script "ifconfig en0|grep 'inet '|cut -d ' ' -f 2"

            if checkSSID starts with "Google Starbucks" and checkIp starts with 169 then

                do shell script "networksetup -setairportpower en0 off; sleep 2; networksetup -setairportpower en0 on"
            end if
            return 10 -- seconds
end idle

Guarde el archivo Applescript como una aplicación para mantenerse abierta

.

La aplicación se disparará cada 10 segundos. O lo que sea que establezca return 10 en

afaik "IP autoasignada" normalmente comienza con 169. Pero cámbiala a lo que estés obteniendo.

    
respondido por el markhunte 16.03.2015 - 23:58

Lea otras preguntas en las etiquetas