Ubuntu Quando o Sistema Trava
A tela congelou, o mouse não responde, nada abre. Antes de apertar o botão de energia, existem várias saídas mais seguras. A principal é um terminal "escondido" que roda fora da interface gráfica e que você abre com Ctrl+Alt+F3. Esta aula mostra o que fazer, na ordem certa.
- A ordem do que tentar, do mais leve ao mais pesado.
- O que é o TTY e como usá-lo para salvar uma sessão travada.
- Como reiniciar só a interface gráfica, sem desligar a máquina.
- As "teclas mágicas" SysRq (REISUB) e por que, no Ubuntu, só algumas funcionam.
- O que fazer depois que o computador voltar.
Leia esta página com calma e teste os atalhos com o computador funcionando. Na hora do aperto, você vai saber o que fazer.
O que fazer, na ordem
- Espere 30 segundos. Às vezes é só o disco ou a memória sobrecarregados. Se a luz do disco pisca ou o ventilador acelera, o computador está trabalhando.
- Feche o app travado. Se só um programa parou, use "Forçar saída" ou kill.
- Abra um TTY com Ctrl+Alt+F3. De lá, encerre o culpado ou reinicie a interface.
- Acesse por SSH de outro computador, se a máquina tiver o SSH ligado.
- Use as teclas SysRq (Alt+SysRq+S, U, B) para reiniciar com os discos em segurança.
- Último recurso: segure o botão de energia por 5 a 10 segundos.
| Atalho | O que faz | Quando usar |
|---|---|---|
| Ctrl+Alt+F3 … F6 | Abre um terminal de texto (TTY) fora da interface | A interface gráfica travou |
| Ctrl+Alt+F2 | Volta para a sua sessão gráfica (às vezes é F1) | Depois de resolver no TTY |
| Ctrl+Alt+T | Abre o terminal normal | Só um app travou |
| Alt+SysRq+S U B | Grava os discos, protege e reinicia | Nem o TTY responde |
| Botão de energia (5–10 s) | Desliga na marra | Nada mais funciona |
Passo 1 e 2: um app travado
Se o mouse ainda se mexe e só uma janela parou, depois de alguns segundos o GNOME mostra o aviso "… não está respondendo", com os botões Esperar e Forçar saída. Forçar saída fecha o app e perde o que não foi salvo.
Também dá para resolver pelo terminal comum (Ctrl+Alt+T):
$ pgrep -l chrome 2210 chrome 2251 chrome $ pkill chrome
Detalhes em ps, pgrep, top e Encerrar Programas.
Passo 3: o TTY, o terminal fora da interface
O Linux tem vários consoles virtuais, chamados de TTY (de teletypewriter, os antigos terminais de teletipo). A interface gráfica ocupa um deles; os outros ficam disponíveis em modo texto. Como esses consoles não dependem do GNOME, eles continuam funcionando quando a interface gráfica trava.
| Console | Atalho | No Ubuntu 26.04 |
|---|---|---|
| TTY1 | Ctrl+Alt+F1 | Tela de login gráfica (GDM) |
| TTY2 | Ctrl+Alt+F2 | A sua sessão gráfica, depois do login |
| TTY3 a TTY6 | Ctrl+Alt+F3 a F6 | Terminais de texto livres |
Se as teclas F mudam o volume ou o brilho, segure também a tecla Fn: Ctrl+Alt+Fn+F3.
Entrando no TTY
Pressione Ctrl+Alt+F3. A tela fica preta, com um pedido de login em texto. Digite seu usuário, Enter, e sua senha, Enter:
Ubuntu 26.04.1 LTS notebook tty3 notebook login: ana « digite seu usuário Senha: « nada aparece enquanto você digita Welcome to Ubuntu 26.04.1 LTS (GNU/Linux 7.0.0-38-generic x86_64) $ whoami ana
O texto exato da tela de login pode variar. O importante: enquanto você digita a senha, nada aparece, nem asteriscos. Isso é normal. Digite e aperte Enter.
O TTY usa o layout de teclado configurado no sistema. Se a senha tiver acentos ou símbolos e não entrar, confira se o layout é o mesmo do seu teclado (ABNT2, por exemplo).
Descobrindo o culpado
No TTY, os mesmos comandos de sempre funcionam. Comece listando quem mais usa processador e memória:
$ ps aux --sort=-%cpu | head -5
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
ana 2210 98.7 41.2 55665664 6512340 ? Rl 08:05 31:02 /snap/chromium/3554/usr/lib/chromium-browser/chrome --password-store
ana 1534 22.1 4.2 5012344 662140 ? Rl 08:01 2:15 /usr/bin/gnome-shell
root 812 0.3 0.2 342104 21480 ? Ssl 08:00 0:01 /usr/sbin/NetworkManager --no-daemon
ana 3301 0.0 0.0 13900 4420 tty3 R+ 10:40 0:00 ps aux --sort=-%cpu
$ free -h
total usada livre compart. buff/cache disponível
Mem.: 15Gi 14Gi 210Mi 120Mi 690Mi 310Mi « quase sem memória
O Chromium está usando 98,7% de um núcleo e 41% da memória, e sobram só 310 MiB disponíveis. É ele que está travando tudo. Também dá para usar o top (saia com q).
Encerrando o culpado
$ kill 2210 $ pgrep -l chrome 2210 chrome « ainda vivo depois de 5 segundos $ kill -9 2210 $ pgrep -l chrome $
Agora volte para a interface com Ctrl+Alt+F2 e veja se ela respondeu. Antes de voltar, saia do TTY com exit.
Se a interface continuar travada: reinicie só ela
Quando nenhum programa parece culpado, o problema pode ser a própria interface (o gnome-shell). Você pode reiniciá-la sem desligar o computador:
- sudo
- Executa como administrador (o comando mexe num serviço do sistema).
- systemctl
- O controlador de serviços do Ubuntu.
- restart
- Para e inicia de novo.
- gdm
- O gerenciador de login gráfico, que comanda a interface.
$ sudo systemctl restart gdm [sudo: authenticate] Senha:
Reiniciar o gdm fecha a sessão gráfica e todos os programas abertos nela. A tela de login volta em alguns segundos. É bem melhor que desligar na marra, porque os discos ficam em segurança.
Uma alternativa é encerrar só a sua sessão, sem mexer no login de outros usuários:
$ loginctl terminate-user ana
Ou reinicie a máquina com segurança
$ sudo reboot
Diferente do botão de energia, o reboot fecha os programas, grava o que está pendente nos discos e só então reinicia.
Passo 4: por SSH, de outro computador
Se o teclado também não responde, mas a máquina ainda está na rede e tem o servidor SSH instalado, você pode entrar por outro computador ou pelo celular (com um app de SSH) e fazer o mesmo que no TTY:
$ ssh ana@192.168.0.15 ana@192.168.0.15's password:
Para deixar isso pronto antes de precisar, veja SSH.
Passo 5: as teclas mágicas SysRq (REISUB)
Quando nem o TTY abre, ainda resta falar direto com o kernel (o núcleo do sistema). A tecla SysRq (de System Request, "pedido ao sistema") fica junto com PrtSc / Print Screen. Segurando Alt+SysRq e apertando uma letra, você dá uma ordem ao kernel, mesmo com todo o resto travado.
As seis letras: R E I S U B
A sequência clássica é R E I S U B. Para lembrar: "Reboot Even If System Utterly Broken" ("reinicie mesmo que o sistema esteja totalmente quebrado").
| Letra | O que faz | Funciona no Ubuntu por padrão? |
|---|---|---|
| R | Tira o controle do teclado da interface gráfica (raw). | Não |
| E | Envia SIGTERM a todos os processos: "terminem". | Não |
| I | Envia SIGKILL a todos: "parem agora". | Não |
| S | Grava nos discos tudo o que está pendente (sync). | Sim |
| U | Remonta os discos como só-leitura (unmount), para não corromper. | Sim |
| B | Reinicia na hora (boot). | Sim |
Como apertar
- Segure Alt e SysRq (PrtSc) juntos. Em notebook, talvez seja Alt+Fn+PrtSc.
- Sem soltar, aperte as letras uma por vez, devagar, com 1 a 2 segundos entre elas: R … E … I … S … U … B.
- Depois de E e de I, espere uns 5 segundos para os programas fecharem.
- No B, o computador reinicia.
Por que no Ubuntu só S, U e B funcionam
Como essas teclas são poderosas, o Ubuntu libera só parte delas. Quem decide é o valor kernel.sysrq:
$ cat /proc/sys/kernel/sysrq 176
Esse número é uma soma de permissões. Cada parte libera um grupo de letras:
| Valor | Libera | Incluído em 176? |
|---|---|---|
| 4 | Controle do teclado (R) | Não |
| 16 | Gravar discos (S) | Sim |
| 32 | Remontar só-leitura (U) | Sim |
| 64 | Sinais para processos (E, I, F) | Não |
| 128 | Reiniciar e desligar (B, O) | Sim |
16 + 32 + 128 = 176. Por isso, no Ubuntu padrão, a versão que funciona é S, U, B: grava os discos, protege e reinicia. Ela já evita a maior parte da corrupção de arquivos causada pelo botão de energia. O valor vem do arquivo /usr/lib/sysctl.d/55-magic-sysrq.conf.
Liberar todas as letras
Se você quiser o REISUB completo, mude o valor para 1 (tudo liberado). Primeiro de forma temporária, até o próximo reinício:
- echo 1
- Escreve o número 1.
- |
- Passa esse texto para o próximo comando.
- sudo tee
- Grava o texto num arquivo como administrador.
- /proc/sys/kernel/sysrq
- O "arquivo" que controla o SysRq no kernel em execução.
$ echo 1 | sudo tee /proc/sys/kernel/sysrq [sudo: authenticate] Senha: 1 $ cat /proc/sys/kernel/sysrq 1
Para deixar permanente, crie um arquivo de configuração com número maior que 55, para ser lido depois do padrão:
kernel.sysrq = 1
$ echo "kernel.sysrq = 1" | sudo tee /etc/sysctl.d/90-sysrq.conf kernel.sysrq = 1 $ sudo sysctl --system
Com tudo liberado, qualquer pessoa com acesso ao teclado pode encerrar todos os programas ou reiniciar a máquina. Em computadores compartilhados ou servidores em local público, mantenha o padrão.
Memória lotada: Alt+SysRq+F
A letra F chama o "OOM killer", que encerra o processo que mais gasta memória. Ela também precisa do valor 64 (bloqueado por padrão). Na maioria das vezes, você nem precisa dela: o Ubuntu tem o serviço systemd-oomd, que encerra sozinho o processo culpado quando a memória acaba. Se a tela travou por falta de memória, esperar um ou dois minutos costuma resolver.
Numa VM, o sistema de fora (o host) costuma capturar esses atalhos. No VirtualBox, use a tecla Host (normalmente Ctrl direito) + F3 para o TTY, ou o menu Entrada → Teclado para enviar combinações especiais.
Passo 6: o botão de energia
Se nada respondeu, segure o botão de energia por 5 a 10 segundos até a máquina desligar. É o equivalente a tirar da tomada: o que estava sendo gravado pode se perder ou ficar corrompido. Use só quando todo o resto falhar.
Depois que voltar: descubra a causa
O journalctl guarda o registro de eventos do sistema. A opção -b -1 mostra o boot anterior, aquele que travou:
- journalctl
- Lê os registros (logs) do sistema.
- -b -1
- Do boot anterior (
-b= boot;-1= um antes do atual). - -p err
- Só mensagens de prioridade "erro" ou mais graves.
$ journalctl -b -1 -p err out 15 10:38:52 notebook systemd-oomd[702]: Killed /user.slice/user-1000.slice/user@1000.service/app.slice/snap.chromium.chromium-1234.scope due to memory pressure out 15 10:39:10 notebook gnome-shell[1534]: JS ERROR: …
Essa saída é ilustrativa. Nela, o systemd-oomd registrou que encerrou o Chromium por falta de memória. Se a causa se repetir, considere fechar abas, aumentar a memória ou a swap (veja Desempenho e Monitoramento). Mais sobre logs em Logs (journalctl).
Quando não funciona
O que pode ser: em notebook, falta o Fn; numa VM, o host capturou o atalho; ou o travamento é tão grave que nem o kernel responde ao teclado.
Como resolver: tente Ctrl+Alt+Fn+F3, espere 30 segundos e tente de novo, e então passe para o SysRq.
O que aconteceu: usuário ou senha errados, ou o layout do teclado do TTY é diferente do seu.
Como resolver: o usuário é o nome curto, em minúsculas (o mesmo que aparece no prompt, como ana), e não o nome completo da tela de login. Digite a senha devagar.
O que aconteceu: a sua sessão gráfica pode estar em outro console.
Como resolver: tente Ctrl+Alt+F1. No TTY, loginctl list-sessions mostra na coluna TTY em qual console está cada sessão.
O que aconteceu: o atalho não chegou (notebook sem Fn, teclado sem a tecla SysRq, VM) ou o SysRq foi desativado (kernel.sysrq = 0).
Como resolver: com a máquina funcionando, confira cat /proc/sys/kernel/sysrq e teste o atalho. Num travamento real, resta o botão de energia.
Exercícios
1. A interface gráfica congelou, mas o computador parece ligado. Qual é o primeiro atalho para tentar resolver pelo terminal?
2. No Ubuntu com o valor padrão kernel.sysrq = 176, quais letras do REISUB funcionam?
3. Os maiores consumidores
No TTY, complete para listar primeiro os processos que mais usam processador:
4. Ver os erros do boot que travou
Complete para ver os erros do boot anterior:
5. Por que sudo reboot no TTY é melhor que segurar o botão de energia?
Resumo
- Ordem: esperar → Forçar saída /
kill→ TTY → SSH → SysRq → botão de energia. - Ctrl+Alt+F3 abre um terminal de texto que não depende da interface; Ctrl+Alt+F2 volta.
- No TTY:
ps aux --sort=-%cpu | head,kill,sudo systemctl restart gdmousudo reboot. - Alt+SysRq+S, U, B reinicia com os discos protegidos; o REISUB completo precisa de
kernel.sysrq = 1. - Depois, investigue com
journalctl -b -1 -p err.