TL; DR: Compartir en Internet impide que mi Mac duerma. Necesito dormir manualmente el sistema de forma regular. Quiero una forma de configurar el uso compartido de Internet para dejar de evitar el sueño.
Tengo un iMac en casa en mi habitación demasiado lejos de mi enrutador, y no puedo usar la conexión inalámbrica, también, la cobertura 3G aquí es horrible, por lo que he habilitado Internet Sharing para poder usar mi iPhone / iPad conectado a través de mi iMac
En el trabajo, estoy en una red corporativa y la conexión inalámbrica es algo aburrida y demasiado restrictiva, por lo que también he habilitado el uso compartido de Internet en mi MacBook Pro, para que mi iPhone pueda acceder a cosas internas.
El problema es: cuando presiono ⌘+ ⌥+ ⏏(o > Suspender) ninguna de las computadoras se pone en suspensión como se desea; eso es a menos que desactive Internet Sharing primero.
En casa quiero que la computadora duerma mientras duermo (ahorra energía + más silencio) y en el trabajo cuando voy a casa también quiero que duerma, por lo que no tengo que cerrar todas las aplicaciones conectadas (Adium, Coloquio, etc.) y reabrir nuevamente al día siguiente.
¿Cómo puedo configurar pmset
o Compartir Internet para poder dormir mi computadora sin tener este problema?
Nota: Ya solía pmset
comprobar si había otras razones y la infracción pid
es siempre com.apple.InternetSharing
.
Editar: me doy cuenta de que dormir la computadora hará que sea imposible usar Internet Sharing. Quiero que duerma completamente y quiero que Internet Sharing vuelva a estar activado solo cuando la computadora se despierte.
fuente
DenySystemSleep
. Aunque encontré la cadena, no pude usarlasudo defaults write /Library/Preferences/SystemConfiguration/com.apple.nat
para cambiar el comportamiento. ¿Podrías ampliar tu respuesta un poco?Respuestas:
He experimentado con el uso de ControlPlane para lograr lo que quieres. Mi resultado preliminar es que hará lo que quieras.
ControlPlane detecta cambios en su sistema llamados 'fuentes de evidencia'. Los cambios se evalúan con 'reglas' que definen un cambio en 'contexto'. Asociados con cada contexto están las 'acciones'.
Una de las 'fuentes de evidencia' es un evento de sueño / vigilia. Así que configuré una regla para que en un evento de suspensión (p. Ej., Haya hecho clic en suspensión en el menú Apple), se active el contexto 'Sleepy Time'. Y para este contexto, he utilizado la acción 'ToggleInternetSharing' para desactivar.
Después de hacer clic en Suspender, recibo una alerta que dice que el uso compartido de Internet se está apagando y después de un tiempo (parece una eternidad, pero probablemente sea solo 10 o 20 segundos) la Mac se pone en suspensión.
Y tengo una segunda regla para que en un evento de activación se active el contexto 'Waking Up' y esto tenga la acción de activar 'ToggleInternetSharing'.
Mis reglas y acciones:
¡Intentalo!
Esto solo está rascando la superficie de lo que ControlPlane puede hacer.
fuente
OS X Mavericks v10.9.4
y aún funciona como un encanto. GraciasSi está ejecutando Lion,
InternetSharing
está bloqueando explícitamente elSystemSleep
. Mira esto:El resultado de este comando: DenySystemSleep es la prueba de que
InternetSharing
está bloqueando deliberadamente la posibilidad de que el núcleo se vaya a dormir. Hay una explicación simple para esta protección: una vez queInternetSharing
se dispara, los clientes de esta Mac pueden estar usándola como un enrutador para acceder a Internet. Es posible que muchas cosas se ejecuten automáticamente sobre esta conexión a Internet sin ningún conocimiento de la persona que está frente a la pantalla.Esta conexión solo debe ser interrumpida por el administrador del sistema que la inició y no por ningún comportamiento automático del sistema.
Este es un comportamiento seguro.
Por lo tanto, el método correcto para asegurarse de que
InternetSharing
esté apagado cuando la suspensión de Mac es programar 4 eventos en el siguiente orden:Esta es la programación ofrecida por
ControlPlane
.fuente
DenySystemSleep
. Aunque encontré la cadena, no pude usarlasudo defaults write /Library/Preferences/SystemConfiguration/com.apple.nat
para cambiar el comportamiento. ¿Podrías ampliar tu respuesta un poco?No es práctico tener una Mac con Internet Sharing habilitado para poder dormir.
La función de uso compartido de Internet es la versión de software de un enrutador: actúa como una puerta de enlace a Internet, un servidor DHCP, un firewall y un reenviador de DNS. Funciona igual que los enrutadores que puede comprar en su distribuidor local; Y es gratis.
Sin embargo, hay una desventaja masiva: si la Mac que actúa como puerta de enlace está apagada o dormida, entonces las otras máquinas no pueden conectarse.
Es por eso que Internet Sharing evita que su máquina se vaya a dormir.
Pero puedo compartir archivos / iTunes / pantalla cuando está dormido
Sí, puedes compartir todas esas cosas y más. Sin embargo, cuando accede a esos archivos, su Mac se activa . Esto se llama Wake On Demand y Bonjour Sleep Proxy .
Cuando su Mac está dormida, mantiene la conexión de red algo "en vivo"; está escuchando los "paquetes" de Bonjour para despertar la computadora. Esto lo maneja el dispositivo del aeropuerto (el adaptador de red) mismo; No la computadora. Cuando recibe el "paquete de activación", la Mac se activa y puede comenzar a compartir recursos.
Bonjour 1 es un servicio de descubrimiento de configuración cero que utiliza servicios de nombres de dominio de multidifusión (mDNS) que es un protocolo UDP 2 (se transmite y no se puede enrutar), que es un transporte orientado a mensajes pequeño, sin estado y mínimo.
Básicamente, UDP (en lo que se basa Bonjour) es perfecto para enviar un mensaje a su computadora para decir "¡Despierta!"
Para navegar por el Internt (use una computadora detrás de la puerta de enlace Mac), necesita la pila de protocolos completa que se basa en TCP . Necesitará DHCP, NAT, firewall, etc., lo que significa que tendrá que activar todos esos servicios antes de permitir que los clientes naveguen por la web. Esto introducirá una gran cantidad de latencia.
Y volviendo a un enfoque más pragmático, si su Mac se durmiera y actuara como una puerta de enlace, nunca se iría a dormir o estaría de arriba abajo como alguien con un mal caso de insomnio.
1 Bonjour es la implementación de Apple de redes de configuración cero (zeroconf), un grupo de tecnologías que incluye descubrimiento de servicios, asignación de direcciones y resolución de nombres de host. Bonjour localiza dispositivos como impresoras, otras computadoras y los servicios que esos dispositivos ofrecen en una red local utilizando registros de servicio del Sistema de nombres de dominio de multidifusión (mDNS).
2 UDP es un protocolo mínimo de capa de transporte orientado a mensajes. UDP no proporciona garantías al protocolo de la capa superior para la entrega de mensajes y la capa UDP no conserva el estado de los mensajes UDP una vez enviados. Es simple, adecuado para bootstrapping u otros fines sin una pila de protocolos completa, como el DHCP y el Protocolo trivial de transferencia de archivos.
fuente
Cuando la unidad de administración de energía de la computadora apaga el dispositivo, entra en un modo de bajo consumo. Su código ejecutable promedio en la computadora no se ejecuta de la manera normal: la computadora mantiene suficiente energía para actualizar la memoria (si es necesario) y poco más. No podrá participar en la informática de propósito general mientras la computadora duerme.
Sin embargo, hay una buena alternativa que debe considerar. En lugar de dormir toda la unidad, revisa la pantalla dormir en
System Preferences -> Energy Saver
. En mi caso de uso, tengo una configuración de esquina activa (que puede habilitarSystem Preferences -> Desktop & Screen Saver -> Screen Saver
) para que cuando vaya a almorzar y necesite bloquear mi pantalla y / o simplemente poner la pantalla en reposo, me mueva hacia abajo -esquina izquierda. Funciona bien para mí, la computadora no vuelve de una rutina de suspensión y los procesos de larga duración que he olvidado no se interrumpen. En su caso, esto significa que su punto de acceso WiFi no se caerá.fuente
Puede usar Power Manager para poner su Mac en suspensión después de períodos de inactividad. Power Manager puede anular procesos y aplicaciones que bloquean la suspensión inactiva, incluido el uso compartido de Internet.
La guía del usuario explica cómo configurar esto:
Alternativamente, la siguiente receta muestra cómo crear un evento de Power Manager para poner su Mac en suspensión después de un período de inactividad .
Descargo de responsabilidad: trabajo para la empresa que desarrolla Power Manager.
fuente