web-dev-qa-db-fra.com

Une partie d'une ancienne fenêtre reste après la fermeture du programme

Après avoir fermé un programme, une partie de la fenêtre reste ouverte. La partie affectée de l'écran reste telle qu'elle était lorsque la fenêtre était ouverte et reste au-dessus des autres fenêtres. Ce n'est pas un problème de redessinage en soi - xrefresh n'aide pas, car il repeint la mauvaise fenêtre.

Cette fenêtre fantôme n'apparaît pas dans la barre des tâches ni dans le sélecteur Alt + Tab, mais ce n'est pas simplement un artefact d'écran. Lorsque je passe la souris dessus, le curseur change, il reste donc traité d'une certaine manière comme une fenêtre (bien qu'il ne puisse pas être sélectionné ou modifié et que la barre de titre ne soit pas complète).

Des idées comment je peux changer cela? Ce problème se produit malheureusement avec une certaine régularité, peut-être une semaine sur deux. Lorsque je laisse mon ordinateur allumé pendant de longues périodes pour effectuer des calculs étendus, cela représente plus qu'un inconvénient mineur, car il bloque une partie de l'affichage pendant plusieurs semaines jusqu'à ce que le travail soit terminé et que je puisse redémarrer.

3
Charles

J'ai trouvé la réponse, que j'enregistre ici pour d'autres personnes susceptibles d'avoir le même problème.

J'ai d'abord utilisé xprop pour trouver quelle fenêtre posait problème. (xkill était inefficace ici.) Il s'est avéré que c'était gtk-window-decorator.

Puis je l'ai tué par son pid (donné par xprop ou ps). Finalement, je l'ai redémarré (en utilisant Alt + F2 pour qu'il ne soit pas lié au terminal) pour obtenir les barres de titre et autres décorations.

5
Charles

La meilleure chose à faire est d’exécuter la commande "ps -A" pour voir les processus en cours. Assurez-vous de ne pas exécuter de programmes critiques et quittez autant de programmes que possible car cela affichera moins de processus dans la commande "ps -A".

Ensuite, vous allez tuer chacun des processus un par un jusqu'à ce que la fenêtre fantôme disparaisse. Prenez note des programmes avant de les tuer. C’est au cas où vous tuez un processus qui brouille votre ordinateur (mémoire, vous pouvez toujours redémarrer). Ce qui signifie que vous redémarrez et redémarrez la prochaine fois que la fenêtre apparaît.

C'est un processus itératif, mais cela vous aidera à trouver l'erreur.

Une fois que vous avez trouvé le programme incriminé, supprimez-le ou définissez son attribut pour qu'il ne puisse pas s'exécuter.

Consultez également les processus que vous voyez qui vous donne une idée de ce qu'est un processus normal et de ceux auxquels vous ne trouvez aucune référence qui pourrait être le coupable.

2
Meer Borg