Deshabilité SIP ( ¿Cómo deshabilito la Protección de integridad del sistema (SIP) AKA "rootless" en OS X 10.11, El Capitán? ) y comencé a editar el archivo/Library/Preferences/SystemConfiguration/preferences.plist
Edité con éxito las entradas HTTPProxy, HTTPPort, HTTPEnable y guardé el archivo. Luego revisé mi dirección IP en la web y no cambia. El archivo está configurado correctamente, pero el sistema no sabe que cambió y, por lo tanto, usa la configuración anterior. Al cambiar la configuración manualmente, presionar Apply
en la pestaña Red notifica al sistema que las preferencias.plist han cambiado y que debe usar la nueva configuración. Lo mismo ocurre con la activación y desactivación de wifi. Cambié el archivo, verifiqué la IP (es la misma), apagué y encendí wifi, verifiqué la IP y ahora ha cambiado.
¿Cómo puedo activar ese evento de notificar al sistema de cambios mediante programación en una Mac?
Esta es la forma incorrecta de ajustar la configuración de red en OS X. La red está administrada por configd, que lee su configuración desde /Library/Preferences/SystemConfiguration/preferences.plist al inicio. Los cambios deben realizarse a través de configd, de modo que pueda actualizar su estado en vivo, la configuración real de la interfaz de red y el archivo de preferencias, todo junto.
Conozco tres formas de hacerlo: a través del panel Red en Preferencias del sistema, con el networksetup
comando y con el scutil
comando. scutil
es desordenado, así que no lo recomiendo; afortunadamente networksetup
es fácil de usar. Algo como esto debería funcionar:
sudo networksetup -setwebproxy Ethernet proxyserver.example.com 80 off
Tenga en cuenta que "Ethernet" es el nombre descriptivo del servicio de red (/interfaz); utilizar networksetup -listallnetworkservices
para una lista. Además, el argumento "desactivado" significa que la autenticación de proxy está desactivada. Consulte la networksetup
página del manual para obtener más información.
Por cierto, vuelve a desactivar SIP. No es necesario apagarlo para cambiar la configuración de red.
Su pregunta necesita algo de edición y aclaración.
Lo que creo que está preguntando es cómo obligar a OS X a volver a cargar datos después de editar un archivo plist. Hay dos métodos para hacer esto.
OS X usa un demonio de almacenamiento en caché para las preferencias, cfprefsd. Simplemente puede guardar su archivo plist, luego hacer sudo killall cfprefds
. Se reiniciará automáticamente y debería cargar los cambios.
La forma recomendada de forzar cambios es con el comando predeterminado , que informa al daemon de los cambios. Por ejemplo
# Reveal IP address, hostname, OS version, etc. when clicking the clock # in the login window sudo defaults write /Library/Preferences/com.apple.loginwindow AdminHostInfo HostName
san jihan