Aconteceu comigo no dia 12.04: interrompeu um upgrade, depois todos os usos simplesmente apareceram repetidamente na tela de boas-vindas. Ctrl-Alt-F1 me permitiu entrar em um terminal virtual. Não encontrei nenhum erro X no arquivo /var/log/Xorg.0.log, mas no meu diretório pessoal, encontrei um arquivo .xsession-errors com uma reclamação estranha sobre um sinal missing = na linha 362 de um arquivo .c. Acompanhe isso em um arquivo openssl.cnf ruim. A que estava em /etc/ssl/openssl.cnf estava boa, mas o link em /usr/lib/ssl/openssl.cnf não era mais um link, mas um arquivo binário. Excluiu o arquivo binário, substituiu o link e as coisas funcionaram novamente.