O problema é que, quando você atualiza o Ubuntu (e até mesmo quando instala certos programas que chamam /sbin/ldconfig
), há alterações feitas em /etc/ls.so.cache
.
Experimente e você verá que o arquivo ld.so.cache
após tal instalação / atualização terá um tamanho diferente do que antes da operação.
Isso, no Ubuntu 16.04, resulta em um loop de login ao efetuar login a partir do lightDM. Portanto, você deve manter uma cópia do original ld.so.cache
, pois, com a nova versão gerada após a instalação / atualização, o lightDM não será mais autenticado.
Eu tive esse problema muitas vezes e tive que ser muito cuidadoso com isso. Eu sempre mantenho uma cópia do arquivo original ( /etc/ld.so.cache.orig
) que me permite logar sem o loop de login e usar isso para logar. Então, uma vez que eu tenha logado com sucesso, eu copio o novo ( /etc/ld.so.cache.new
) . Para fazer isso, modifiquei meu arquivo ~/.bash_profile
e adicionei esta linha:
sudo /bin/cp /etc/ld.so.cache.new /etc/ld.so.cache
Em seguida, para copiar o arquivo original de volta ao sair da sessão, para que eu possa logar em um ganho da próxima vez, adicionei essa linha a /etc/gdm/PostSession/Default
:
/bin/cp /etc/ld.so.cache.orig /etc/ld.so.cache
Para que isso funcione, eu modifiquei /etc/sudoers
(executando sudo vosudo
) para permitir que usuários não privilegiados executassem o comando copy:
ALL ALL= NOPASSWD: /bin/cp /etc/ld.so.cache.new /etc/ld.so.cache
Isso pode parecer um hack feio, mas resolve esse problema de loop de login e, também, manter o novo arquivo /etc/ld.so.cache
.