¿Ejecutar programa si está conectado a un wifi específico?

16

¿Es posible que un programa se inicie automáticamente cuando me conecto a un enrutador específico y que se detenga cuando me desconecto de este enrutador?

Básicamente, quiero que se ejecute un programa mientras estoy en el trabajo (horario flexible, así que no puedo tener algún tipo de función de temporizador) pero no cuando estoy en casa, o en otro lugar.

Estoy corriendo: MacBook Air OS X versión 10.9.4

    
pregunta guestmember 18.07.2014 - 12:14

3 respuestas

12

Puede usar ControlPlane donde puede configurar reglas para llevar a cabo tareas como abrir aplicaciones basadas en varios criterios que incluyen la conexión a Wi-Fi.

  

ControlPlane admite múltiples contextos donde un contexto se define como una ubicación o actividad que está realizando. Al usar las fuentes de evidencia, puede crear un conjunto de reglas que le indiquen a ControlPlane qué contexto debe aplicar a su entorno. Cuando ControlPlane ingresa o deja un contexto, se realiza un conjunto de Acciones.

    
respondido por el grg 18.07.2014 - 13:06
6

Puedes usar Sidekick que te permite realizar "acciones" al cambiar de ubicación. La ubicación se informa utilizando el Wi-Fi específico, lo que significa que puedes hacer cosas cuando cambia el Wi-Fi.

  

Sidekick es una aplicación que actualiza automáticamente la configuración de su computadora portátil según su ubicación. Simplemente instale la aplicación, configure los lugares que frecuenta (en casa, en el trabajo, en una cafetería, etc.) y ¡nunca vuelva a preocuparse por su configuración!

     

    
respondido por el grg 18.07.2014 - 13:07
6

He creado una aplicación daemon de ejemplo para este propósito. Puede encontrarlo en Github .

Para hacerlo funcionar:

  • Compílalo usando Xcode.
  • Mueva Network Listener.app a /Applications dir.
  • Mueva .networkConnected y .networkDisconnected a su $HOME dir.
  • Mueve Network-Listener.plist a ~/Library/LaunchAgents .
  • Haga que .networkConnected y .networkDisconnected sean ejecutables.

Se ejecutará automáticamente cuando inicies sesión en tu cuenta. Si quieres probarlo, ejecuta esto en Terminal :

launchctl load -S Aqua -w ~/Library/LaunchAgents/Network-Listener.plist

Los scripts reciben el nombre de SSID como argumentos.

Siéntase libre de cambiarlo para sus necesidades. En caso de cualquier problema, hágamelo saber.

Todo fue creado para mostrar las posibilidades, muchas cosas pueden mejorarse.

    
respondido por el Mateusz Szlosek 29.12.2014 - 16:09

Lea otras preguntas en las etiquetas