1 votos

Notificar al sistema que las preferencias fueron cambiadas

He desactivado el SIP ( ¿Cómo puedo desactivar la Protección de la Integridad del Sistema (SIP), también conocida como "sin root", en OS X 10.11, El Capitán? ) y comenzó a editar el archivo /Library/Preferences/SystemConfiguration/preferences.plist

He editado con éxito las entradas HTTPProxy, HTTPPort, HTTPEnable y he guardado el archivo. Luego comprobé mi dirección IP en la web, y no cambia. El archivo está configurado correctamente, pero el sistema no sabe que ha cambiado y por lo tanto utiliza la configuración antigua. Al cambiar la configuración manualmente, pulsando Apply en la pestaña de red notifica al sistema que preferences.plist ha cambiado y que debe utilizar la nueva configuración. Lo mismo ocurre con el apagado y encendido del wifi. Cambié el archivo, comprobé la IP (es la misma) apagué/encendí el wifi, comprobé la IP y ahora ha cambiado.

¿Cómo puedo desencadenar ese evento de notificación de cambios al sistema de forma programada en un Mac?

1voto

Nate Puntos 220

Esta es la forma incorrecta de ajustar la configuración de red en OS X. La red es gestionada por configd, que lee su configuración de /Library/Preferences/SystemConfiguration/preferences.plist al inicio. Los cambios deben hacerse a través de configd, para que pueda actualizar su estado en vivo, la configuración real de la interfaz de red, y el archivo de preferencias todos juntos.

Conozco tres formas de hacerlo: a través del panel Red de las Preferencias del Sistema, con el networksetup y con el comando scutil comando. scutil es un lío, 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 amigable del servicio de red (/interfaz); utilice networksetup -listallnetworkservices para una lista. Además, el argumento "off" significa que la autenticación proxy está desactivada. Consulte la sección networksetup página de manual para más información.

BTW, por favor, vuelve a apagar el SIP. No es necesario apagarlo para cambiar la configuración de la red.

1voto

Hefewe1zen Puntos 324

Su pregunta necesita algunas modificaciones y aclaraciones.

Lo que creo que estás preguntando es cómo forzar a OS X a recargar los datos después de editar un archivo plist. Hay dos métodos para hacer esto.

OS X utiliza un demonio de caché para las preferencias, cfprefsd. Puedes simplemente guardar tu archivo plist, y luego hacer sudo killall cfprefds . Se reiniciará automáticamente y debería cargar sus cambios.

La forma recomendada de forzar los cambios es con el comando por defecto que informa al demonio 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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X