Descongelar uma interface do usuário osx congelada usando ssh sem desligar todos os aplicativos?

19

Meu mac congela ocasionalmente, e na maioria das vezes eu simplesmente o reinicio pressionando o botão liga / desliga por mais de 5 segundos.

Hoje, porém, eu estava executando uma enorme varredura de arquivo por 14 horas quando a interface do usuário congelou completamente, e prefiro não esperar mais 14 horas!

Sintomas da interface do usuário congelada: nada acontece ao usar o teclado (exceto a luz caps lock acendendo / apagando). Naturalmente, a saída de força não surge. Mover o mouse move o cursor na tela, mas clicar não faz nada.

Usando outro Mac na rede, posso acessar o Mac por SSH. Vi que a RAM estava quase cheia, mas a atividade da CPU era modesta. Coisas que tentei descongelar o mac:

  1. Desligue / mate o Chrome, o iMovie, o Photoshop e outros aplicativos que eu não ligo para desligar. Ajudou o uso da RAM a diminuir, mas não ajudou a descongelar o mac.

  2. Encerre os processos do Finder e Dock. Nenhuma ajuda.

  3. Ativou o compartilhamento de tela na linha de comando e tentou conectar-se remotamente. A caixa de diálogo de senha é exibida (indicando que o compartilhamento de tela realmente está ativado), mas depois de fornecer a senha, o indicador de progresso gira para a eternidade e nada acontece.

  4. Tentei suspender a sessão do usuário na linha de comando:

/ Sistema / Biblioteca / CoreServices / Menu \ Extras / User.menu / Conteúdo / Recursos / CGSession -suspend

Este comando apenas trava na sessão SSH e nada acontece. Precisa ser abortado usando ctrl+ c. Usar sudofaz com que o comando retorne imediatamente sem nenhum efeito.

Nem mesmo matar o WindowServer ( sudo killall -HUP WindowServer) ajudou, e executar uma reinicialização normal ( sudo shutdown -r now) apenas congelou completamente o computador (sem mais movimentos do cursor nem acesso ssh). Somente o desligamento forçado do botão liga / desliga funcionou.

Teve que esperar mais 14 horas para que a verificação do arquivo fosse executada novamente. Existe alguma outra maneira de descongelar um mac nesse estado? Seria bom saber para referência futura…

Motin
fonte
1
Eu tive exatamente o mesmo problema agora, com o mesmo resultado exato para todas as coisas que você tentou. Obrigado pelos relatórios detalhados. Eu adoraria ter sugestões sobre o que fazer nessas situações.
rahmu
Apareceria algo estranho sudo dmesg? Para mim, eu estava vendo **** [IOBluetoothHCIController][SearchForTransportEventTimeOutHandler] -- Missing Bluetooth Controller Transport!e então eu mexeu com algumas coisas, ele começou a trabalhar novamente, e eu veria: **** [IOBluetoothHCIController][protectedBluetoothHCIControllerTransportShowsUp] -- Connected to the transport successfully -- 0xe7c0 -- 0xd000 -- 0xc000 ****. Relacionamento não confirmado.
Joseph Lennox
@JosephLennox Esta pergunta e tópico relacionado têm cerca de 1 ano de idade. Se precisar de ajuda, inicie sua própria pergunta, fornecendo detalhes específicos e, talvez, vincule-a a essa pergunta como algo semelhante ao que você enfrentou.
JakeGould
Teve a experiência exata no Sierra 10.12. A única coisa que eu adicionaria à sua lista para verificar less /var/log/system.logse você consegue identificar o problema lá. Eu vi com.apple.DumpGPURestart, mas não havia nada que eu pudesse fazer a respeito, exceto manter pressionado o botão liga / desliga por mais de 5 segundos.
wisbucky 17/07

Respostas:

3

Eu costumava lidar com esse tipo de situação ocasionalmente, e quando é um congelamento geral da interface do usuário, nenhuma janela em particular não responde, então não há nada que eu encontrei (nenhum processo que você possa matar) que possa lidar com o problema, além de matar WindowServer. Isso deve fazer com que a sessão seja desconectada.

No entanto, nesse caso em particular, como matar o WindowServer não retornou o sistema a um estado utilizável, suspeito que ele estivesse condenado de qualquer maneira.

Com relação à melhor recuperação possível , uma coisa a ser observada é que pode ser possível desligar de maneira limpa aplicativos individuais do SSH:

osascript -e 'tell application "TextEdit" to quit'

Os aplicativos normais da GUI não salvam seus arquivos etc. quando killeditados, mas quando esse evento é encerrado. Obviamente, se o aplicativo abrir uma caixa de diálogo quando você pedir para sair, isso não ajudará. E se osascriptele travar, o sistema de envio de eventos da Apple será travado ...

Kevin Reid
fonte
0

Eu tenho esse problema regularmente. Parece estar relacionado ao meu ATI Radeon 4850 não estar bem. Desativei a aceleração gráfica movendo os drivers para fora do caminho, mas ainda tenho esse problema de forma intermitente. Às vezes, matar a janela de login através de obras ssh. Às vezes, isso leva minutos ou até mais e, de repente, funciona. Também tive momentos em que o sistema responde normalmente depois que o protetor de tela entra em ação. Movi o mouse, o protetor de tela para e o sistema funciona normalmente depois disso. Por isso, diminuí o tempo para o protetor de tela iniciar.

Bjinse
fonte
-1

Ok, tive um problema semelhante (os comandos do teclado funcionaram, o mouse foi movido, não pôde clicar em nada na interface do usuário) e encontrei uma solução.

Meu Bluetooth SmartMouse estava na minha mochila, espremido entre outras coisas. Tirei da sacola e agora tudo está funcionando!

Aparentemente, clicar com o mouse para baixo bloqueou todos os outros cliques do mouse. Doh!

Tipo de clique do mouse 1432432
fonte