Às vezes, meu Xorg trava e bloqueia o console, com um “quadro obsoleto” de GUI no monitor. Problemas relacionados a hardware e driver são prováveis (veja aqui para descrição de uma configuração específica), mas esta questão está focada em um efeito particularmente irritante: incapacidade de mudar para o modo de texto. Caso contrário, o sistema está funcionando perfeitamente. A caixa serve uma LAN, eu posso logar e até executar algo como chvt
dentro, sem sucesso. Claro, posso encerrar o processo do Xorg para liberar o console… mas é tão rude. Não é a mesma situação que em essa questão , onde Ctrl + Alt + F1 falhou consistentemente, mas, no meu caso, falha as vezes e somente quando X é incapaz de trabalhar de qualquer maneira.
Então, a pergunta: Qual exatamente o passo da troca de console é vulnerável a deadlocks? Os kernels Linux modernos (3.x) são assumidos. Muitos anos atrás (na era do Linux2.4) eu tinha razoavelmente bom entendimento de coisas relacionadas ao console virtual e até escrevi algumas notas sobre isso, mas o vc_screen.c
moderno mudou consideravelmente de espécimes de 10 anos de idade, com novas chamadas como console_lock()
e console_unlock()
apareceram nele.