Como consertar o sistema Ubuntu não responsivo?

22

Eu uso o Ubuntu. Às vezes, o sistema não tem resposta com mouse e teclado. Existe alguma maneira de resolver esse problema, exceto apertar o botão de reset na máquina?

user297850
fonte
1
essa é uma pergunta difícil, porque você não está nos dando muito o que continuar ... se fosse eu, eu faria CTRL + ALT + F [1..6], logar e matar alguns processos. mas quase sempre sei o que está deixando minha máquina sem resposta, enquanto você não. e, adicionalmente, às vezes eu escrever programas que eu sei que estão indo para torná-lo sem resposta, porque eu quero a saída do programa.
Ixtmixilix
Tem certeza de que o sistema não responde ou o sistema ainda está funcionando, mas os dispositivos de entrada param de funcionar?
Bobby
Relacionado (no Ask Ubuntu ): O que devo fazer quando o Ubuntu congelar?
Eliah Kagan 9/09/17

Respostas:

35

Se você deseja uma maneira de reinicializar, sem salvar documentos abertos, mas sem pressionar o botão de redefinição, existem maneiras com menor probabilidade de causar perda de dados. Primeiro, tente Ctrl+ Alt+ F1. Isso deve levá-lo a um console virtual , como disse o ixtmixilix . Quando você estiver em um console virtual, o Ctrl+ Alt+ Deleteserá desligado e reiniciará a máquina.

Se essa técnica não funcionar, sempre há Alt+ SysRq+REISUB .

Quanto à correção do problema sem reiniciar, sem mais informações sobre o que está acontecendo, seria difícil dar uma boa resposta. Se você puder descrever as circunstâncias em que isso ocorre (a melhor maneira de fazer isso é editar sua pergunta para adicionar as informações), isso pode ajudar as pessoas a dar boas respostas. A outra coisa a considerar é que, se o seu computador não estiver respondendo - especialmente se levar mais de alguns segundos para o Ctrl+ Alt+ F1abrir um console virtual -, você quase certamente tem um bug e, ao relatá- lo, pode ambos ajudam a comunidade e talvez recebam uma resposta.

Falhas na GUI que causam WM ou X11 / Wayland que não respondem

Isso pode estar acontecendo devido a uma interação entre um aplicativo e um gerenciador de janelas - ou o servidor X11 ou o Wayland. Um sinal de que essa é a natureza do problema é se um aplicativo parar de responder e impedir que você insira entrada com o teclado ou o mouse em outras janelas do aplicativo. (Nenhum aplicativo deve ser capaz de fazer isso; algum componente da GUI deve ter um bug para que isso ocorra.) Se é isso que está acontecendo, você pode matar o processo incorreto em um console virtual (como o ixtmixilix aludiu):

  1. Pressione Ctrl+ Alt+ F1.

  2. Faça login. Você não verá nada ao digitar sua senha. Isso é normal.

  3. Use um utilitário como pspara descobrir o nome do processo do programa incorreto. Às vezes isso é fácil no Ubuntu, outras vezes não. Por exemplo, o nome de um processo do Archive Manager é file-roller. Se você tiver problemas para descobrir isso, geralmente poderá encontrar as informações on-line sem muita dificuldade (ou, se não conseguir, poderá postar uma pergunta sobre isso).

    Você pode canalizar psa saída greppara restringir as coisas. Suponha que foi o Archive Manager que estava causando o problema. Então você pode executar:

    ps x | grep file-roller
    

    Você verá uma entrada para seu próprio grepcomando, além de uma entrada para file-roller.

  4. Tente matar o processo incorreto com SIGTERM. Isso dá a chance de fazer uma limpeza de última hora, como liberar buffers de arquivos, sinalizar para servidores remotos que está prestes a desconectar (para protocolos que fazem isso) e liberar outros tipos de recursos. Para fazer isso, use o killcomando:

    kill PID

    onde PIDé o número de identificação do processo que você deseja eliminar, obtido na execução psna etapa 3.

  5. SIGTERMé uma maneira de pedir firmemente que um processo saia. O processo pode ignorar esse sinal e o fará quando estiver funcionando mal em determinadas circunstâncias. Então você deve verificar para ver se funcionou. Caso contrário, mate-o com o SIGKILLque não pode ignorar e que sempre funciona, exceto nos raros casos em que o processo está em sono ininterrupto (ou se não está realmente em execução, mas é um processo de zumbi ).

    Você pode verificar se o processo ainda está em execução e matá-lo SIGKILLse estiver, com apenas um comando:

    kill -KILL PID

    Se você receber uma mensagem como , sabe que matá-la com o trabalho. Se você não obtiver saída, você sabe que não funcionou. Nesse caso, provavelmente o fez, mas vale a pena conferir executando-o novamente. (Pressione a tecla de seta para cima para exibir os comandos anteriores, para facilitar a digitação.)kill: (PID) - No such processSIGTERMSIGTERMSIGKILL

  6. Em casos raros de seus próprios processos, ou sempre com processos pertencentes a rootou outro usuário além de você, você deve interromper o processo como root. Para fazer isso, acrescente sudo (incluindo o espaço à direita) antes dos killcomandos acima . Se os comandos acima não funcionarem ou você disse que você não tem o acesso necessário para matar o processo, experimentá-lo como rootcom sudo.

(A propósito, kill -KILLé o mesmo que o amplamente popular kill -9. Eu recomendo kill -KILLporque SIGKILLnão é garantido que tenha 9como número de sinal em todas as plataformas. Funciona em x86, mas isso não significa que funcionará necessariamente em todos os lugares. Dessa forma, kill -KILLé mais provável que termine com êxito o processo kill -9. Mas eles são equivalentes no x86, portanto, fique à vontade para usá-lo lá, se quiser.)

Se você souber que não há outros processos com o mesmo nome que você deseja eliminar, poderá usar em killallvez de kille o nome do processo em vez do número de identificação do processo.

Um processo de monopolização dos recursos da CPU

Se um processo for executado com a prioridade mais alta possível ou muito próxima a ela (ou, para indicá-lo de maneira mais apropriada, com a menor nicade possível ), ele poderá tornar sua interface gráfica com o usuário completamente ou quase completamente sem resposta. No entanto, nessa situação, você provavelmente não seria capaz de alternar para um console virtual e executar comandos (ou talvez até reiniciar).

Se um processo ou uma combinação de processos em prioridade normal ou moderadamente elevada estiver reduzindo a velocidade da sua máquina, você poderá matá-los usando a técnica da seção acima. Mas se eles são programas gráficos, é possível também matá-los clicando no botão Fechar nas janelas - o ambiente da área de trabalho oferece a opção de matá-los se eles não estiverem respondendo. Se isso não funcionar, é claro que você pode (quase) sempre matá-los kill -KILL.

Problemas de E / S

E / S de buggy pode causar falta de resposta prolongada (até perpétua). Isso pode ser devido a um bug do kernel e / ou drivers de buggy. Uma solução parcial é evitar operações pesadas e simultâneas de leitura e / ou gravação (por exemplo, não copie dois arquivos grandes de uma só vez, em dois processos simultâneos de cópia; não copie um arquivo grande enquanto assiste a um vídeo em HD ou instala um SO em uma máquina virtual).

Isso é obviamente insatisfatório e a solução real é encontrar o problema e relatá-lo. A menos que você esteja executando um kernel da linha principal a partir do kernel.org , os bugs do kernel devem ser relatados no pacote linuxdo Ubuntu (já que o Ubuntu fornece compilações especiais do kernel que integram patches específicos da distribuição, e os relatórios de bugs não confirmados no kernel da linha principal serão rejeitados em kernel.org ). Você deve fazer isso executando ubuntu-bug linux(ou apport-cli linux) na máquina afetada. Veja a documentação do relatório de erros do Ubuntu primeiro; explica como fazer isso corretamente.

Problemas com placas gráficas

Alguns bloqueios de GUI podem ser causados ​​por problemas na placa gráfica. Existem algumas coisas que você pode tentar para aliviar isso:

  1. Pesquise na web para ver se outras pessoas tiveram problemas semelhantes com a mesma placa de vídeo (e / ou marca e modelo de máquina) no Ubuntu ou em outras distribuições GNU / Linux. Pode haver soluções mais específicas do que o que posso oferecer nesta resposta, sem informações mais específicas do que as que estão atualmente em sua pergunta.

  2. Veja se diferentes drivers de vídeo estão disponíveis para você tentar. Você pode fazer isso verificando Drivers adicionais; você também pode pesquisar na web para ver quais drivers Linux estão disponíveis para sua placa de vídeo. A maioria das placas de vídeo proprietárias são Intel, AMD / ATi ou Nvidia (clique nesses links para ver a documentação da comunidade sobre a instalação e o uso de drivers proprietários para essas placas no Ubuntu). Para a Intel, é melhor você seguir os drivers FOSS presentes no Ubuntu, mas ainda há informações úteis que você pode usar. Independentemente do cartão que você possui, essas informações gerais podem ajudar.

    Se você atualmente usa drivers proprietários, pode tentar usar drivers proprietários diferentes (por exemplo, diretamente da NVidia ou AMD / ATi) ou pode usar os drivers de código aberto gratuitos.

  3. Tente selecionar um tipo de sessão de login gráfico que não exija / use a aceleração gráfica. Para fazer isso, efetue logout e, na tela gráfica de login, clique no logotipo ou ícone de engrenagem do Ubuntu próximo ao seu nome de login. Um menu suspenso é mostrado. Mude a seleção do Ubuntu para o Ubuntu 2D . Isso faz você usar o Unity 2D em vez do Unity . (Se você estiver usando o GNOME Shell , poderá selecionar o GNOME Fallback / GNOME Classic .) Em caso de dúvida, há uma seleção que diz "sem efeitos", escolha essa opção, pois provavelmente é a mais segura.

    Esta pergunta tem mais algumas informações sobre diferentes interfaces gráficas que você pode escolher no Ubuntu.

  4. Nas versões mais recentes do Ubuntu, você pode escolher entre X.org e Wayland na tela de login. Qualquer que você esteja usando, tente o outro. Às vezes, um problema com o Wayland pode ser corrigido usando o X.org ou vice-versa.

  5. Reportar um erro.

Esperamos que as informações acima tenham transmitido algumas informações gerais sobre o que poderia estar causando esse tipo de problema. Também deve servir para esclarecer que tipo de informação pode ser útil para você adicionar à sua pergunta (dependendo dos detalhes específicos do problema), para possibilitar uma resposta ainda melhor. (Ou para melhorar esta resposta com informações adicionais específicas da sua situação.)

Eliah Kagan
fonte
1
Dicas bem-feitas para solucionar problemas de travamentos.
Arrefecer personag
Se o teclado parar de responder, não é possível usar Ctrl + Alt + FN
szx
6

Sim, a maneira mais fácil de arquivar isso é habilitar as chaves para matar o servidor Xorg e reiniciar a sessão X.

Para habilitar isso, abra Configurações do sistema -> Opções de layout do teclado (ou use o keyboardcomando na interface do Unity, clique em Hit AltF2) e marque esta opção:

Ctrl + Alt + Backspace

insira a descrição da imagem aqui

Então, quando travar, o hit CtrlAltBackspacematará o servidor X e o lightdm reiniciará a interface de login

margarida
fonte
Alt+Print+Kvai fazer o mesmo fora da caixa, não?
Bobby