Necesito un applescript que se va a encender el wi-fi apagado y en determinados intervalos de tiempo, digamos cada 10 o 15 minutos. Estoy usando un 2012 MacBookPro ejecución 10.9.5.
Respuestas
¿Demasiados anuncios?DISCLAMER: yo no puedo comprobar esto (que realmente funciona) en el momento, pero lo haré más adelante.
Esta secuencia de comandos para activar/desactivar el wifi es tomado de aquí:
try
set makiaeawirelessstatus to do shell script "networksetup -getairportpower en1"
on error
display dialog "The script did not work as intended, please check the networksetup command (in terminal) works on your system. It has been tested on mac os 10.7 (Build 11A459e). Other versions of mac os may not have this command available. Please open the applescript in applescript editor for more details." buttons {"kthxbai"}
end try
if makiaeawirelessstatus is "Wi-Fi Power (en1): On" then
do shell script "networksetup -setairportpower en1 off"
else if makiaeawirelessstatus is "Wi-Fi Power (en1): Off" then
do shell script "networksetup -setairportpower en1 on"
else
display dialog "The script did not work as intended, please check your wireless connection is specified correctly. The default in this script is en1 (please open the applescript in applescript editor for more details)" buttons {"kthxbai"}
end if
Tendría que editar para que se acepten los argumentos (que yo quisiera, pero que me resultan algo como javascript)
Entonces, si desea que el script se ejecute reaccuringly, usar algo como LaunchAgent o cron. Yo prefiero LaunchAgent, porque es más indulgente.
Editar el crontab de root (por ejemplo, la ejecución de EDITOR=nano sudo crontab -e
) y añadir una línea
*/15 * * * * ifconfig en1 down;ifconfig en1 up
donde en1
es el identificador de la muestra por networksetup -listallhardwareports|awk '/^Hardware Port: (Wi-Fi|Airport)/{getline;print $2}'
.
El ifconfig
comandos requieren privilegios de superusuario.
tell application "System Events" to tell process "SystemUIServer"
click (first menu bar item whose value of attribute "AXDescription" contains "Wi-Fi") of menu bar 1
try
click menu item 2 of menu of (first menu bar item whose value of attribute "AXDescription" contains "Wi-Fi") of menu bar 1
end try
end tell