2 votos

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

Estoy usando Mac 10.9.5. Cuando estoy en un Starbucks, mi ordenador se conecta automáticamente a su red WiFi. Sin embargo, después de una hora, te echan y aunque sigues conectado a su red, debajo de tu icono "WiFi" en las preferencias del sistema de red, ahora tienes una "IP autoasignada" y no puedes conectarte a Internet. La única manera de volver a conectarse es hacer clic en el botón "Desactivar Wi-Fi" y luego hacer clic en el botón "Activar Wi-Fi" para volver a activar las cosas.

Mi pregunta es, ¿cómo puedo escribir un script que haga esto automáticamente por mí? Lo que me gustaría es que algún script se ejecutara en segundo plano si estoy conectado a una red llamada "Google Starbucks" y entonces si el script notara que tengo una "IP autoasignada", apagara el wi-fi y lo volviera a encender sin que yo tuviera que hacer nada.

0 votos

No hay mucha diferencia en tener que activar/desactivar/activar el estado del Wi-Fi desde el menú de Apple frente a hacerlo de forma programada, ya que al menos tienes que hacer clic en algo o introducir un comando en un Terminal. Dicho esto, puedo darte un simple AppleScript o BASH script que puede activar/desactivar/activar el estado del Wi-Fi si lo deseas. Codificarla para que compruebe y espere, etc., es factible, pero no tengo tiempo para meterme en ello.

0 votos

Sí estoy muy agradecido si tienes un script que pueda activar/desactivar el estado del WiFi. Gracias,

2voto

user3439894 Puntos 5883

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 quieres en un BASH script no uses el do shell script parte y el resto puede estar en una línea o eliminar el ; añadiendo un nueva línea en su lugar. Podrías intercambiar el display dialog ... en el script de Buscar con esto si quieres.

1voto

Buscar웃 Puntos 23467

Aquí está la parte 1 del script.

Controlará 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 puedes apagar/encender el WiFi (honestamente eso es fácil de hacer) o si debes puedes escribir la segunda parte del script.

0 votos

Gracias. Como no quiero que el encendido y apagado se produzca cuando estoy en casa o en otras redes, ¿sabes cómo puedo incluir el nombre de la red "Google Starbucks" en la ecuación, así como el hecho de que sólo quiero activar el ciclo cuando tengo una IP autoasignada?

0 votos

Este no hace ningún tipo de ciclismo. Sólo comprueba si está conectado a Internet. Mientras lo estés no hace nada. Si no estás conectado te lo dirá. No es necesario cambiar google.com a otra cosa, pero se puede.

1voto

Malik hassan Puntos 16

¿Qué tal una aplicación de Applescript? Que se ejecute cada 10 segundos. Que compruebe la IP y compruebe 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 Applescript como permanecer abierto Aplicación.

La aplicación se disparará entonces cada 10 segundos. O lo que usted establezca return 10 a

afaik "Self Assigned IP" normalmente comienza con 169. Pero cámbialo por lo que estás recibiendo.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X