Désactiver le wifi par la barre de menu est équivalent à :
networksetup -setairportpower en0 off
... et donc, la même chose que de le désactiver dans les paramètres du réseau.
Je ne peux pas parler des niveaux inférieurs, mais networksetup
est un ajout d'Apple, alors que ifconfig
est un standard non seulement pour BSD, mais aussi pour Linux. (Bien que les deux utilitaires soient finalement distincts, non seulement dans leur implémentation mais aussi dans leur API).
Si je devais deviner, et je vais deviner puisque les internes d'Apple ne sont pas exactement transparents (s'il vous plaît, que quelqu'un me corrige si vous en êtes capable), networksetup
est destiné à contrôler le matériel réel, le dispositif Wi-Fi, alors que ifconfig
est un utilitaire purement au niveau du système d'exploitation. Tout comme vous pouvez quitter votre application de chat vidéo, ou mettre un morceau de ruban adhésif sur la caméra.
Je peux vérifier certaines choses :
- Pour fonctionner, les deux interfaces, disons,
en0
doit être UP (donc, ifconfig en0 up
), ainsi que airportpower
étant ON (donc, networksetup -setairportpower en0 on
).
- Les deux sites
down
l'ingestion d'un iface
et de transformer la puissance de l'aéroport off
rendra le symbole de la barre de menu sous la forme d'un contour creux.
- MAIS, si les deux DOWN/off, si vous apportez la puissance de l'aéroport
on
si ifconfig ... up
n'a pas été exécuté après avoir exécuté ifconfig ... down
Le symbole ne sera pas creux, et MacOS recherchera frénétiquement des réseaux, mais n'y parviendra pas : (1) se connecter à un réseau (2) faire apparaître le symbole iface0
(3) changer la table de routage
Ainsi, ce symbole wifi semble être le résultat d'un changement d'état, et non l'état réel. En effet, l'état réel, à savoir si le Wi-Fi est affiché comme pouvant se connecter ou non, n'est pas lié à l'indicateur visuel. Mais l'interface, même lorsqu'elle est DOWN, semble d'une certaine manière balayer, en ce sens que si vous revenez en arrière on
le site airportpower
le "statut :" donné par ifconfig
va passer rapidement d'un état à l'autre entre active
y inactive
même si l'interface actuelle n'est pas UP.
Il y a donc une incohérence. Mais c'est ainsi parce qu'il n'y aurait aucune raison de désactiver le second après l'avoir fait pour le premier. Et parce que les désirs et l'API idéale d'Apple diffèrent de ceux de BSD.