Como recuperar uma área de trabalho KDE4 com falha sem excluir o diretório ~ / .kde4 inteiro?

0

Este é um conto de dois sistemas GNU / Linux Mageia 5 de 64 bits equipados com placas de vídeo 6xx / 7xx . Cada um é configurado com uma área de trabalho do KDE4 ( task-kde4-minimal-4.14.3-2.mga5 ), e usa um driver proprietário fornecido pela distribuição ( nvidia-current-kernel-desktop-latest-352.79-10.mga5.nonfree ). O driver proprietário é necessário porque nouveau é inadequado para alguns aplicativos. Um sistema parece funcionar bem, mas outro tem uma peculiaridade irritante que não vejo acontecendo no outro sistema:

If a particular application is closed, when it shuts down, the desktop
immediately goes to a black screen such that the monitor says the
signal is out of range.

Uma reinicialização não corrige o problema. O login gráfico ( kdm-4.11.16-5.mga5 ) funciona muito bem, mas assim que se loga em uma conta de usuário com um desktop KDE , o problema se repete. .

As soluções postadas para O que fazer quando um desktop linux congela? foram considerados por não parecem ser eficazes.

A reconfiguração do xorg não tem impacto além de alterar a forma como o kdm configurou a exibição. O KDE substitui qualquer configuração configurada no nível xorg .

Após a falha, eu não encontrei nenhuma chave incluindo Ctrl-Alt-Backspace que possa recuperar algum controle da área de trabalho gráfica, mas eu posso mudar para um console com Ctrl-Alt-F2 e eu posso tentar a recuperação.

Editar: na verdade, Ctrt-Alt-Backspace funciona, basta ter paciência ou várias tentativas.

Após a falha, posso entrar em um desktop gráfico failsafe que é um ambiente realmente mínimo. Funciona bem.

Depois de muito ranger de dentes, descobri que parar o gerenciador da área de trabalho e excluir a pasta ~/kde4 recupera o comportamento do sistema:

# service dm stop
# rm -rf /home/user/.kde4
# service dm start

Esta é uma solução horrível, sem mencionar que requer privilégios elevados para executar.

A propósito, o "aplicativo em particular" é MineCraft 1.8.9 rodando sob java ( jre1.8.0_91 ), mas essa questão não é sobre por que isso acontece isso ou como evitá-lo. Pelo contrário, é sobre como alguém debuga a quebra KDE4 desta natureza, no entanto, pode ter acontecido.

Existe um utilitário de linha de comando específico para o KDE que pode estar desativado em um cenário como este?

    
por kbulgrien 04.07.2016 / 19:33

1 resposta

0

Nenhuma permissão elevada é necessária e a reinicialização é desnecessária.

  • Mate o KDE com Ctrl-Alt-Backspace .
  • Use Ctrl-Alt-F2 (ou outra tecla de função conforme necessário) para obter um console.
  • Faça login como o usuário que acionou o problema.
  • Por segurança, backup ~/.kde4/share/apps/kscreen/????????????????????????????????
  • Excluir ~/.kde4/share/apps/kscreen/????????????????????????????????

Nesta instância específica, dados os detalhes da pergunta, o nome real do arquivo ws cc3277aaebc0a310157f935da894a119 , mas o nome do arquivo muda quando a estrutura da pasta .kde4 é reconstruída.

Como cheguei a essa conclusão? Primeiro, eu ativei a falha da área de trabalho, matei o KDE com Ctrl-Alt-Backspace , renomei a cópia quebrada de ~/.kde , reiniciei o KDE e, em seguida, difirei o diretório bom um quebrado:

$ diff -qr .kde4 kde4.broke
Files .kde4/share/apps/activitymanager/activityranking/database and kde4.broke/share/apps/activitymanager/activityranking/database differ
Files .kde4/share/apps/kconf_update/log/update.log and kde4.broke/share/apps/kconf_update/log/update.log differ
Files .kde4/share/apps/kscreen/cc3277aaebc0a310157f935da894a119 and kde4.broke/share/apps/kscreen/cc3277aaebc0a310157f935da894a119 differ
Files .kde4/share/apps/kwallet/kdewallet.kwl and kde4.broke/share/apps/kwallet/kdewallet.kwl differ
Files .kde4/share/apps/kwallet/kdewallet.salt and kde4.broke/share/apps/kwallet/kdewallet.salt differ
Files .kde4/share/apps/nepomuk/repository/main/data/virtuosobackend/soprano-virtuoso.db and kde4.broke/share/apps/nepomuk/repository/main/data/virtuosobackend/soprano-virtuoso.db differ
Files .kde4/share/apps/nepomuk/repository/main/data/virtuosobackend/soprano-virtuoso-temp.db and kde4.broke/share/apps/nepomuk/repository/main/data/virtuosobackend/soprano-virtuoso-temp.db differ
Files .kde4/share/config/activitymanagerrc and kde4.broke/share/config/activitymanagerrc differ
Files .kde4/share/config/gtkrc and kde4.broke/share/config/gtkrc differ
Files .kde4/share/config/gtkrc-2.0 and kde4.broke/share/config/gtkrc-2.0 differ
Files .kde4/share/config/kdebugrc and kde4.broke/share/config/kdebugrc differ
Files .kde4/share/config/kdeglobals and kde4.broke/share/config/kdeglobals differ
Files .kde4/share/config/kglobalshortcutsrc and kde4.broke/share/config/kglobalshortcutsrc differ
Files .kde4/share/config/khotkeysrc and kde4.broke/share/config/khotkeysrc differ
Files .kde4/share/config/klipperrc and kde4.broke/share/config/klipperrc differ
Files .kde4/share/config/plasma-desktop-appletsrc and kde4.broke/share/config/plasma-desktop-appletsrc differ

Parece que as diferenças em apenas um arquivo estão relacionadas:

$ diff -u .kde4/share/apps/kscreen/cc3277aaebc0a310157f935da894a119 kde4.broke/share/apps/kscreen/cc3277aaebc0a310157f935da894a119
--- .kde4/share/apps/kscreen/cc3277aaebc0a310157f935da894a119   2016-07-04 02:47:56.312121742 -0500
+++ kde4.broke/share/apps/kscreen/cc3277aaebc0a310157f935da894a119      2016-07-02 23:51:04.725895881 -0500
@@ -1 +1 @@
-[ { "enabled" : true, "id" : "39a867a4a7600077629a3c27c6fa77bf", "metadata" : { "fullname" : "xrandr-hp L2335-CNP509Z1GW", "name" : "DVI-I-1" }, "mode" : { "refresh" : 59.9502, "size" : { "height" : 1200, "width" : 1920 } }, "pos" : { "x" : 0, "y" : 0 }, "primary" : true, "rotation" : 1 } ]
\ No newline at end of file
+[ { "enabled" : true, "id" : "39a867a4a7600077629a3c27c6fa77bf", "metadata" : { "fullname" : "xrandr-hp L2335-CNP509Z1GW", "name" : "DVI-I-1" }, "mode" : { "refresh" : 59.8846, "size" : { "height" : 1200, "width" : 1920 } }, "pos" : { "x" : 0, "y" : 0 }, "primary" : true, "rotation" : 1 } ]
\ No newline at end of file

Observe que a diferença parece pequena e inócua: 59.9502 vs. 59.8846

A maioria das outras diferenças de arquivo resulta de uma data de criação e não mostra nenhuma diferença funcional ou está relacionada ao ambiente do aplicativo, e não ao gerenciador de área de trabalho. Um deles mencionou o "Desktop", mas a diferença era apenas no GUID - dificilmente estaria diretamente relacionado ao problema.

Para testar minha hipótese, salvei uma boa cópia de .kde4/share/apps/kscreen/cc3277aaebc0a310157f935da894a119 , acionei a falha da área de trabalho e, em vez de excluir o arquivo, copiei o arquivo bom conhecido sobre o que foi alterado após a falha do sistema. KDE recuperado.

Em seguida, como a maioria das pessoas não terá uma boa cópia do arquivo, decidi tentar excluí-la, em vez de "corrigi-la". A exclusão do arquivo também recuperou a área de trabalho.

    
por 04.07.2016 / 20:02