Uma possibilidade para uma solução é a seguinte.
quando você chega na tela de login, em vez de 'loggin in' cair para um terminal. Normalmente você pode fazer isso com o combo de teclas (isto é, pressionar a tecla control e qualquer tecla F).
Você deve receber um prompt de login.
Entre com seu nome de usuário e senha.
Agora você deve ser capaz de iniciar uma sessão X com o
startx
comando . Se o login falhar, você pode verificar as últimas linhas do arquivo de log
tail -10 /var/log/Xorg.0.log
e postá-los aqui, na verdade você provavelmente quer uma cópia, se ele funciona para comparação ... continue lendo.
Além disso, enquanto estiver aqui, talvez faça uma atualização rápida, só para ter certeza
sudo apt-get update
sudo apt-get upgrade
sudo apt-get -f
O último vai consertar todos os pacotes quebrados, caso você tenha outros problemas no seu sistema
Se, no entanto, tudo correr bem, então há algo mais acontecendo em seu login no gerenciador de janelas.
Então, você precisará fazer logoff e voltar à tela do gerenciador de login usando o < ctrl F * > combinação de teclas (normalmente reside em F8, mas pode ser diferente em sua máquina.
Não faça logoff do seu log de terminal apenas no momento, você vai precisar dele.
faça login a partir da tela gráfica e espere o login falhar.
Agora, retorne ao seu terminal ainda aberto e reenvie o comando tail para examinar as informações de log do Xorg. Eu deveria te dizer onde as coisas estão falhando.
Se você precisar de mais linhas, aumente o valor que você envia para o comando tail para obter linhas extras.
Se você ainda tiver problemas, precisará encontrar uma maneira de postar a saída do comando tail no seu qestion ... algo como.
tail -10 /var/log/Xorg.0.log > ~/desktopFromCLIWorks.txt
e
tail -10 /var/log/Xorg.0.log > ~/desktopFailsFromLoginScrn.txt
Finalmente você já experimentou outros desktops? se você os tiver.
Também acabei de encontrar esta questão aqui em Ask Ubuntu. onde o OP usou
sudo apt-get install --reinstall ubuntu-desktop
Altere claramente o ubuntu-desktop para a área de trabalho que você está usando. Novamente, você precisará executar isso a partir da CLI que você abriu.
David