Como ativar o reinício automático do Plasma / KDE após o congelamento?

3

Eu usei OpenSuse por vários anos. Uma das coisas que eu mais gostei com essa distribuição foi a maneira como o Plasma / KDE é tratado: ocasionalmente, pode acontecer de o painel desaparecer por alguns instantes e uma caixa de mensagem se abrir dizendo que a área de trabalho do Plasma travou e foi reiniciada, também propondo enviar dados de depuração para as equipes de desenvolvimento, se eu quiser.

Agora, por alguns meses, mudei para uma distribuição baseada no Fedora ( Qubes OS , baseado no Fedora 20) . Parece que essa distribuição não oferece esse comportamento por padrão, já que:

  • Eu nunca mais vi esse messagebox,
  • Mas eu tenho meu desktop completamente congelado várias vezes (tela e teclado congelados, ponteiro de som e mouse OK), tendo que desligar brutalmente meu computador, cruzar o dedo e perder todo o trabalho em andamento será o único efeito colateral de um desligamento tão brutal.

Uma dúzia de anos atrás, quando eu era estudante, minha universidade também estava usando o Fedora para nossos exercícios práticos. Naquela época, enfrentando um congelamento similar, encontrei a solução para conectar remotamente por SSH e matar o gerenciador de desktop para que ele fosse automaticamente reiniciado, desbloqueando o ambiente gráfico.

Infelizmente, devido ao design específico do Qubes OS¹, essa solução SSH rápida e suja não funcionará aqui. No entanto, eu acho que a ferramenta de caixa de mensagem do OpenSuse pode fazer uma coisa similar de uma maneira apropriada: implementar algum tipo de cão de guarda detectando quando o Plasma / KDE não responde, então o mata e o reinicia.

Então, o que eu estou querendo saber é: essa ferramenta é um recurso específico do OpenSUSE², ou há algum pacote que eu deveria instalar ou alguma configuração que eu deveria alterar para ativar esse comportamento na minha instalação atual?

Os congelamentos de área de trabalho são particularmente frustrantes, ainda mais quando sei que o aplicativo em si provavelmente ainda está funcionando bem e que uma simples reinicialização do processo de Plasma só faria com que tudo voltasse ao normal ...

¹: No Qubes OS, a conectividade de rede é isolada em um domínio Xen e o KDE está em um Dom0 sem rede. Por questões de segurança, o Qubes OS foi projetado precisamente para evitar atingir a interface do usuário a partir da rede ...

²: Pelo passado (se ainda não é o caso) o OpenSUSE costumava ter um KDE strongmente modificado internamente, permitindo que eles fossem a primeira distribuição a propor um KDE4 estável, então eu temo que essa ferramenta seja apenas uma parte de esses doces ...

    
por WhiteWinterWolf 29.07.2015 / 17:30

3 respostas

4

TL; DR: Aqui o problema aparentemente foi causado por um problema (provavelmente alguma condição de corrida obscura) entre o OpenGL e o KWin.

Para contornar isso, é necessário desabilitar o OpenGL e usar o XRender (em Configuração do sistema > Efeitos da área de trabalho > Avançado > Tipo de composição, selecione "XRender" em vez do padrão OpenGL).

Alguns efeitos da área de trabalho não estarão mais disponíveis, mas pelo menos o sistema ficará estável e não congelará mais.

Longa história:

O problema ocorreu a cada poucas semanas aleatoriamente, algumas vezes várias vezes ao dia, algumas vezes duas ou três semanas sem nenhum problema, e foi, portanto, bastante difícil de analisar (BTW em algum momento eu mudei para outra placa de vídeo, mudando de radeon Intel i915 sem qualquer impacto sobre o problema, portanto, não está relacionado nem com a placa gráfica nem com o seu driver).

Deixei um script sendo executado em segundo plano e fazendo verificações automáticas a cada três minutos em um loop infinito para que eles pudessem capturar algo quando o congelamento da área de trabalho.

De fato, o congelamento pode ser programaticamente detectado através de qdbus e, em particular, essa chamada falha se, e somente se, a área de trabalho estiver congelada:

qdbus org.kde.Kwin /App org.freedesktop.DBus.Peer.Ping

Embora normalmente não tenha saída e um código de retorno de 0, quando a área de trabalho está congelada, esse comando falha com um código de retorno 2 e uma mensagem de erro "NoReply".

Para informação, eu também verifiquei o status de org.kde.plasma-desktop, org.kde.kuiserver e org.kde.kded, que parecem sãos quando ocorre um congelamento, portanto, KWin parece ser o verdadeiro culpado. / p>

Eu tentei várias maneiras de restaurar a integridade do ambiente de desktop sem sorte. Tentar reiniciar o KWin de forma limpa usando kquitapp kwin ou kwin --replace não parece ter nenhum efeito perceptível. Eu tentei matar e reconstruir o ambiente de área de trabalho completo da seguinte forma:

kbuildsycoca4
kquitapp plasma-desktop
kquitapp kwin
kquitapp kuiserver
sleep 2
killall plasma-desktop kwin kuiserver; sleep 2
killall -9 plasma-desktop kwin kuiserver; sleep 2
kstart kuiserver
kstart kwin
kstart plasma-desktop

A área de trabalho não foi liberada! ... mas apenas para um quadro: a tela (como pode ser visto ao olhar para o relógio na barra de tarefas) é atualizada e congela imediatamente novamente.

No entanto, tendo encontrado o culpado, eu encontrei um antigo "alto, crítico, mas vencido não consertar porque muito obscuro "problema aqui . Mesmos sintomas, as mesmas etapas de diagnóstico e, finalmente, a solução alternativa sugerida: use o XRender em vez do OpenGL.

Já se passaram vários meses desde que apliquei essa alteração e não encontrei nenhum congelamento desde então, portanto, acho que essa solução alternativa está correta para esse problema.

    
por 10.03.2016 / 15:43
1

Eu tentaria instalar Qubes R3.1 . As notificações de mensagem do KDE aparecem com informações úteis, por ex. USB detectado, conectado à rede, etc. Com um kernel mais moderno (4.1.13-7), entre outras coisas, o R3.1 parece limpo e funciona muito bem em comparação com as versões anteriores. A área de trabalho só travou uma vez depois de usar a atualização experimental , mas uma caixa de notificação com um opção para relatar apareceu.

Em vez disso, aceitei os conselhos para fazer backup de VMs e instalar novamente o R3.1. Feliz por informar que tem sido uma experiência mais agradável e livre de acidentes (com melhores notificações pop-ups).

    
por 03.01.2016 / 00:43
0

Atualizando para o Qubes 3.2 usando sudo qubes-dom0-update --releasever=3.2 conforme documentado aqui resolverá o problema.

Você pode então instalar o KDE no repo da Qubes.

    
por 01.01.2017 / 18:28