Entre todos os possíveis problemas, os dois mais comuns são:
O arquivo .Xauthority no diretório inicial do usuário pode ser de propriedade de root. A propriedade e as permissões devem ser semelhantes:
-rw------- 1 user user 58 Feb 13 07:37 .Xauthority
Nesse caso, você precisa excluir o arquivo /home/user/.Xauthority de propriedade do login do root de um console ( <ALT>+<CTL>+<F1-7> ) e, em seguida, tentar efetuar login no xsession.
Outra coisa que pode acontecer é que o /tmp não tem o conjunto de bits fixo, ou seja, tem as permissões erradas. As permissões devem ser:
drwxrwxrwt 8 root root 4096 Feb 13 08:17 tmp
Nesse caso, você precisa definir o bit adesivo como /tmp , fazendo login em um console:
sudo chmod 1777 /tmp