Manual
do
Maker
.
com
Esse título "Raspberry Pi sem vídeo" é tão estranho quanto parece, mas foi o que aconteceu após fazer dist-upgrade e levar o sistema a um cliente. O sistema operacional estava rodando tranquilamente no Raspberry de laboratório, mas só apresentou problema depois de ser iniciado no cliente. Por quê? E, como depurar?
Houve a primeira inicialização, a rede não conectava e o dist-upgrade trouxe uma surpresinha, que estava no lxpanel. Normalmente faço a configuração remotamente por linha de comando, mas a surpresinha que veio na atualização cag... digo, atrapalhou a configuração que outrora funcionava.
O artigo será breve, mas vou deixar os sintomas:
Com um pouco de sorte, não será necessário remover o cartão SD do sistema. O que aconteceu enquanto o sistema iniciava é que o wicd conflitava com o network-manager. É esse tipo de coisa que me faz desistir de atualizar sistemas com interface gráfica. Bem, esse conflito não causou apenas problema de conexão. Em um loop frenético, em pouco tempo foi preenchido os quase 8GB livres do cartão SD. Após "entupido", a próxima reinicialização foi o suficiente para que o sistema não completasse o carregamento.
Após (aparentemente) resolvido o problema, em dado momento peguei no dashboard do Grafana uma carga de 600% de CPU (isto é, tinha fila para mais 5 processadores). Claro que isso também elevou a temperatura, então foi o momento de fazer a conexão remota novamente (usando o dwagent invés de teamviewer) e acessando o terminal pude ver na lista de processos (usando o comando top) que o lxpanel (a barra de tarefas) estava "criando vida própria".
Como a interface gráfica estava inacessível mas um dos Raspberry estava conectado (aconteceu com mais de um), não pude fazer acesso remoto, mas como tenho um processo rodando nele para receber instruções por MQTT, pude publicar uma ordem de execução, cujo processo faz o download de um pacote contendo um setup com regras que eu defino. Com isso, consegui remover o programa e restaurar a interface gráfica. Descrevo agora o processo para restauração local.
Primeiro, acesse o console. O Linux tem várias tty e elas podem ser acessadas com Ctrl+Alt+Fx, onde x vai de 1 à 6, dependendo do Linux em questão. Ao acessar esse terminal, faça login com usuário e senha, então proceda com os seguintes comandos:
sudo su
service wicd stop
systemctl disable wicd
apt-get -y purge wicd
mv /etc/xdg/autostart/wicd-tray.desktop /etc/dbus-1/wicd.conf.donotstart 2>/dev/null
Ainda, sugiro zerar os arquivos de log, porque se não carregou mais a tela, então o SD deve estar cheio.
sudo su
cd /var/log
ls|while read line; do echo "">$line;done
Após reiniciar o sistema, já deve ser possível acessar a interface gráfica. Reinicie:
shutdown -r now
E ao entrar na interface gráfica, abra o terminal (a janelinha preta na barra de tarefas) e recarregue o lxpanel:
lxpanelctl restart
Isso deve ser o suficiente para resolver todos os problemas e ter a conexão funcionando novamente.
Moral da história: Se quiser uma versão nova de sistema desktop, instale do zero e evite problemas.
Revisão: Ricardo Amaral de Andrade
Inscreva-se no nosso canal Manual do Maker no YouTube.
Também estamos no Instagram.
Autor do blog "Do bit Ao Byte / Manual do Maker".
Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.