Parte de uma janela antiga permanece depois que o programa é fechado

3

Depois de fechar um programa, parte da janela permanece aberta. A parte afetada da tela permanece como estava quando a janela estava aberta e fica em cima de outras janelas. Não é um problema de redesenho per se - xrefresh não ajuda, pois repensa a janela ruim.

Esta janela fantasma não aparece na 'barra de tarefas' ou no alternador Alt + Tab, mas também não é apenas um artefato de tela. Quando eu corro meu mouse sobre ele, o cursor muda, então ele ainda está sendo tratado de alguma forma como uma janela (embora não possa ser selecionado ou alterado e não tenha uma barra de título completa).

Alguma idéia de como eu posso mudar isso? Este problema acontece, infelizmente, com alguma regularidade para mim, talvez a cada duas semanas. Como deixo meu computador ligado por longos períodos para fazer cálculos estendidos, isso é mais do que um pequeno inconveniente, já que bloqueia parte da tela por várias semanas até que o trabalho esteja completo e eu possa reiniciar.

    
por Charles 07.03.2013 / 03:51

2 respostas

5

Encontrei a resposta, que eu gravo aqui para outras pessoas que podem ter o mesmo problema.

Primeiro, usei xprop para descobrir qual janela estava causando o problema. ( xkill foi ineficaz aqui.) Acabou sendo gtk-window-decorator .

Então eu o matei pelo seu pid (dado por xprop ou ps ). Por fim, reiniciei-o (usando Alt + F2 para que ele não fosse vinculado ao terminal) para obter as barras de título e outras decorações.

    
por Charles 07.03.2013 / 05:27
2

A melhor coisa a fazer é executar o comando "ps -A" para ver os processos em execução. Certifique-se de não estar executando nenhum programa crítico e saia do maior número de programas possível, pois isso mostrará menos processos no comando "ps -A".

Em seguida, você prossegue para matar cada um dos processos, um de cada vez, até que as janelas fantasmas desapareçam. Tome nota dos programas antes de matá-los. Isto é, caso você mate um processo que embaralhe seu computador (memória, você pode sempre reinicializar). O que significa que você reinicia e começa novamente na próxima vez que a janela aparecer.

É um processo iterativo, mas ajudará você a encontrar falhas.

Quando você encontrar o programa incorreto, remova-o ou defina seu atributo para que ele não possa ser executado.

Procure também no google os processos que você vê, o que lhe dá uma idéia do que é um processo normal e dos quais você não encontra nenhuma referência a qual possa ser o culpado.

    
por Meer Borg 07.03.2013 / 04:25