Olá, pessoal.
Recentemente passei por um problema em que todos os ubunteiros de plantão já passaram, ou vão passar: o login no modo gráfico simplesmente para de funcionar. Porém, consegui resolver sem trocar de distro, formatar minha máquina ou qualquer coisa do tipo e com uma solução relativamente simples.
No meu caso, quando entrava no
tty (e conseguia logar por lá sem problemas, diga-se de passagem), apareciam mensagens, logo abaixo da verificação de atualizações, que alguns comandos encontrados em
usr/bin (incluindo os comando para logar via tela gráfica, assim como
nano,
ls, e até o amado
sudo) não podiam ser acessados porque esse diretório não estava na varável de ambiente
PATH.
Pois bem, resumindo a obra, eu tinha alterado minhas variáveis de ambiente em
/etc/environment e minhas alterações fizeram com que a variável PATH que estava lá fosse anulada pela que eu tinha criado, e por causa disso, não conseguia usar sudo e nem nano para editar o
/etc/environment. E aí veio a dor de cabeça.
Agora chega de conversa e vamos aos comandos pra resolver esse probleminha de BIOS (bichinho... adoro esse termo técnico).
Abra o tty (
Ctrl+Alt+F1), logue normalmente e depois, no terminal, vamos inserir o diretório
usr/bin de forma temporária no sistema (graças à Atena, não é necessário permissão de root para isso, senhores). Para isso, digite:
export PATH=$PATH:/usr/bin
Nenhuma mensagem de erro? Beleza, agora vamos abrir o environment:
sudo nano /etc/environment
Agora, remova tudo que não for o PATH original (o PATH original é aquele que inclui entre os diretórios o
usr/bin) e salve o
/etc/environment (
Ctrl+o) e saia dele (
Ctrl+x).
E pronto! Problema resolvido! :)
Observações
Obs. 1: se alguém mais experiente discordar de mim, pode dar outra solução, mas não recomendo colocar variáveis de ambiente em
/etc/environment, pois as variáveis de ambiente de lá são criadas automaticamente de acordo com as suas instalações. Sugiro inseri-las em "~/.bashrc".
Obs. 2: "export PATH=$PATH:/usr/bin" diretamente no terminal, insere a variável temporariamente no sistema, ou seja, no seu próximo login ela não estará mais lá. Então, utilize mesmo a "Obs. 1".
Obs. 3: isso só funciona para a situação que descrevi no começo, mas esse problema de login pode ser causado por outras situações, como erro de atualização do sistema ('sudo apt update' parado inesperadamente, por exemplo) ou também erros de drivers proprietários.
Obs. 4: minha distro é Ubuntu 16.04, porém, também é comum acontecer esse problema em 14.XX.
Fontes
Espero ter ajudado.
Valeu, galera.
Grande abraço.