Apagar el wifi a través de la barra de menú es equivalente a:
networksetup -setairportpower en0 off
... y así, lo mismo que apagarlo en la configuración de red.
No puedo hablar con los niveles bajos, pero networksetup
es una adición de Apple, mientras que ifconfig
es estándar no solo para BSD, sino también para Linux. (Aunque las dos utilidades en última instancia son distintas, no solo en su implementación sino en la API)
Si tuviera que adivinar, y lo haré, ya que las partes internas de Apple no son exactamente transparentes (por favor, alguien me corrige si es posible), networksetup
está destinado a controlar el hardware real, el dispositivo Wi-Fi , mientras que ifconfig
es una utilidad puramente a nivel del sistema operativo. Al igual que usted puede salir de su aplicación de video-chat, y poner un pedazo de cinta sobre la cámara.
Algunas cosas que puedo verificar:
- La interfaz, por ejemplo,
en0
, debe ser UP (por lo tanto, ifconfig en0 up
), así como la potencia del aeropuerto activada (por lo tanto, 'networksetup -setairportpower en0 on).
- Tanto
down
ing a iface
, como girar airportpower off
, representarán el símbolo de la barra de menú como un contorno hueco.
- PERO, si tanto ABAJO como desactivado, si traes airportpower
on
, si ifconfig ... up
no se ha ejecutado después de ejecutar ifconfig ... down
, entonces el símbolo no estará vacío y macOS buscará frenéticamente en busca de redes, pero no poder: (1) conectarse a una red (2) subir el iface0
(3) cambiar la tabla de enrutamiento
Entonces, ese símbolo de wifi parece ser el resultado de un cambio de estado, no un estado real. En ese sentido, el estado real de si se muestra o no Wi-Fi como capaz de conectarse no está conectado al indicador visual. Pero la interfaz, incluso cuando está ABAJO, parece que se explora de alguna manera, ya que si se devuelve on
airportpower
, el "estado:" dado por ifconfig
cambiará rápidamente de vuelta & entre active
y inactive
, incluso si la interfaz real no es UP.
Por lo tanto, hay inconsistencia. Pero es así porque no habría ninguna razón para desactivar el segundo después de hacerlo el primero. Y porque los deseos de Apple & Las API ideales difieren de las de BSD.