TL; DR: o compartilhamento da Internet está impedindo o meu Mac de dormir. Preciso dormir manualmente o sistema regularmente. Quero uma maneira de configurar o compartilhamento da Internet para parar de impedir o sono.
Eu tenho um iMac em casa no meu quarto, muito longe do meu roteador, e também não posso usar a conexão sem fio. A cobertura 3G aqui é horrível. Por isso, ativei o compartilhamento de Internet para poder usar meu iPhone / iPad conectado através do meu iMac.
No trabalho, eu estou em uma rede corporativa e a conexão sem fio é um tanto esfarrapada e muito restritiva; portanto, também habilitei o compartilhamento de Internet no meu MacBook Pro para que meu iPhone possa acessar informações internas.
O problema é: Quando eu pressiono ⌘+ ⌥+ ⏏(ou Sleep> Suspender), nenhum computador entra no modo de espera desejado; isto é, a menos que eu desative o Compartilhamento da Internet primeiro.
Em casa, quero que o computador durma enquanto durmo (economiza energia + mais silêncio) e no trabalho, quando vou para casa, também quero que durma, para que não precise fechar todos os aplicativos conectados (Adium, Colloquy, etc.) e reabra novamente no dia seguinte.
Como posso configurar pmset
ou compartilhar a Internet para que eu possa dormir meu computador sem encontrar esse problema?
Nota: Eu já usei pmset
para verificar se havia outros motivos e a ofensa pid
é sempre com.apple.InternetSharing
.
Edit: Eu sei que dormir o computador tornará impossível o uso do compartilhamento na Internet. Quero que ele durma completamente e quero que o Compartilhamento da Internet seja ativado novamente apenas quando o computador acordar.
fonte
DenySystemSleep
. Embora eu tenha encontrado a string, não consegui usá-lasudo defaults write /Library/Preferences/SystemConfiguration/com.apple.nat
para alterar o comportamento. Você poderia expandir você responde um pouco?Respostas:
Eu experimentei usar o ControlPlane para alcançar o que você deseja. Meu resultado preliminar é que ele fará o que você deseja.
O ControlPlane detecta alterações no seu sistema chamadas 'fontes de evidência'. As alterações são avaliadas com 'regras' que definem uma alteração no 'contexto'. Associadas a cada contexto estão 'ações'.
Uma das 'fontes de evidência' é um evento de sono / vigília. Portanto, configurei uma regra para que, em um evento de suspensão (por exemplo, você tenha clicado em suspensão no menu Apple), o contexto 'Tempo de suspensão' seja acionado. E para esse contexto, usei a ação 'ToggleInternetSharing' para desativar.
Depois de clicar em Suspender, recebo um alerta dizendo que o compartilhamento da Internet está sendo desativado e depois de um tempo (parece uma eternidade, mas provavelmente leva apenas 10 ou 20 segundos), o Mac entra no modo de suspensão.
E eu tenho uma segunda regra para que, em um evento de ativação, o contexto 'Acordar' seja acionado e tenha a ação de ativar 'ToggleInternetSharing'.
Minhas regras e ações:
Tente!
Isso está apenas arranhando a superfície do que o ControlPlane pode fazer.
fonte
OS X Mavericks v10.9.4
e ainda funciona como um encanto. Thank'sSe você estiver executando o Lion,
InternetSharing
está explicitamente bloqueando oSystemSleep
. Dê uma olhada em:A saída deste comando: DenySystemSleep é a prova que
InternetSharing
está intencionalmente bloqueando a possibilidade do kernel de adormecer. Há uma explicação simples para essa proteção: uma vezInternetSharing
acionado, os clientes deste Mac podem usá-lo como roteador para acessar a Internet. Muita coisa pode estar sendo executada automaticamente em cima dessa conexão com a Internet sem o conhecimento da pessoa na frente da tela.Essa conexão deve ser interrompida apenas pelo administrador do sistema que a iniciou e não por qualquer comportamento automático do sistema.
Este é um comportamento seguro.
Portanto, o método correto para garantir
InternetSharing
está desativado quando o Mac sleep for agendar 4 eventos na seguinte ordem:Esse é o agendamento oferecido por
ControlPlane
.fonte
DenySystemSleep
. Embora eu tenha encontrado a string, não consegui usá-lasudo defaults write /Library/Preferences/SystemConfiguration/com.apple.nat
para alterar o comportamento. Você poderia expandir você responde um pouco?Não é prático ter um Mac com o Compartilhamento da Internet ativado para poder dormir.
O recurso de compartilhamento da Internet é a versão do software de um roteador: ele atua como um gateway para a Internet, um servidor DHCP, um firewall e um encaminhador de DNS. Ele funciona como os roteadores que você pode comprar no seu revendedor local; e é grátis.
No entanto, há uma grande desvantagem: se o Mac que atua como gateway estiver desligado ou dormindo, as outras máquinas não poderão ficar on-line.
É por isso que o compartilhamento na Internet impede que sua máquina entre no modo de suspensão.
Mas posso compartilhar arquivos / iTunes / Tela quando estiver dormindo
Sim, você pode compartilhar todas essas coisas e muito mais. No entanto, quando você acessa esses arquivos, o seu Mac é ativado . Isso se chama Wake On Demand e Bonjour Sleep Proxy .
Quando o seu Mac está dormindo, ele mantém a conexão de rede um pouco "ativa"; está ouvindo os "pacotes" do Bonjour para ativar o computador. Isso é tratado pelo próprio dispositivo Airport (o adaptador de rede); não o computador. Quando ele recebe o "pacote de ativação", o Mac é ativado e você pode iniciar o compartilhamento de recursos.
O Bonjour 1 é um serviço de descoberta de configuração zero que usa os serviços de nome de domínio multicast (mDNS), que é um protocolo UDP 2 (é transmitido e não pode ser roteado), que é um transporte pequeno, sem estado e mínimo orientado a mensagens.
Basicamente, o UDP (no qual Bonjour se baseia) é perfeito para enviar uma mensagem ao seu computador dizendo "Acorde!"
Para navegar no Internt (use um computador atrás do gateway Mac), você precisa da pilha de protocolos completa baseada em TCP . Ele precisará de DHCP, NAT, firewall, etc., o que significa que terá que ativar todos esses serviços antes de permitir que os clientes naveguem na web. Isso introduzirá muita latência.
E voltando a uma abordagem mais pragmática, se o seu Mac dormisse e agisse como um gateway, ele nunca iria dormir ou seria subido e descido como alguém com um caso grave de insônia.
1 Bonjour é a implementação da Apple de rede de configuração zero (zeroconf), um grupo de tecnologias que inclui descoberta de serviço, atribuição de endereço e resolução de nome de host. Bonjour localiza dispositivos como impressoras, outros computadores e os serviços que esses dispositivos oferecem em uma rede local usando registros de serviço multicast Domain Name System (mDNS).
2 UDP é um protocolo mínimo de camada de transporte orientado a mensagens. O UDP não oferece garantias ao protocolo da camada superior para entrega de mensagens e a camada UDP não retém nenhum estado das mensagens UDP uma vez enviadas. É simples, adequado para inicialização ou outros propósitos sem uma pilha de protocolos completa, como o DHCP e o Trivial File Transfer Protocol.
fonte
Ré. ControlPlane, isso funciona para mim ...
fonte
Quando a unidade de gerenciamento de energia do computador faz o dispositivo dormir, ele entra no modo de baixa energia. Seu código executável médio no computador não é executado da maneira normal: o computador mantém energia suficiente para atualizar a memória (se necessário) e pouco mais. Você não poderá se envolver em computação de uso geral enquanto o computador dorme.
No entanto, há uma boa alternativa que você deve procurar. Em vez de adormecer a unidade inteira, verifique a exibição de inatividade
System Preferences -> Energy Saver
. No meu caso de uso, tenho uma configuração de canto quente (que você pode ativarSystem Preferences -> Desktop & Screen Saver -> Screen Saver
) para que quando for almoçar e precise bloquear minha tela e / ou apenas colocar a tela em suspensão, mova-me para o fundo -canto esquerdo. Funciona bem para mim, o computador não volta de uma rotina de sono e os processos de execução prolongada que esqueci não são interrompidos. No seu caso, isso significa que seu ponto de acesso WiFi não será descartado.fonte
Você pode usar o Power Manager para colocar seu Mac em repouso após períodos de inatividade. O Power Manager pode anular processos e aplicativos que bloqueiam a suspensão ociosa, incluindo o Compartilhamento da Internet.
O guia do usuário mostra como configurar isso:
Como alternativa, a receita a seguir mostra como criar um evento do Power Manager para colocar o Mac em repouso após um período de inatividade .
Isenção de responsabilidade: trabalho para a empresa que desenvolve o Power Manager.
fonte