Frequentemente esse cenário acontece quando estou logado em mais de uma sessão X na mesma máquina, por exemplo, localmente ( :0.0
) e remotamente através de RDP.
Se um aplicativo de desktop (como o navegador Chrome, suspeito que seja GTK em geral) abre uma janela de diálogo, por exemplo para salvar um arquivo, a janela de diálogo geralmente aparece na outra sessão X. O que é obviamente difícil de acessar no momento. O aplicativo então parece congelado até que o diálogo seja tratado na outra sessão X.
O que é ainda pior é que às vezes o diálogo aparentemente "abre" em uma sessão X que não é mais acessível, como uma sessão RDP fechada. Então não é possível acessá-la de forma alguma e a única solução é matar o aplicativo à força.
Então estou procurando maneiras de:
- Depure o problema — por que ele está acontecendo em primeiro lugar.
- Evite que isso aconteça.
(Outra solução/solução alternativa possível seria evitar a criação de múltiplas sessões, se isso fosse possível ( Um servidor xrdp pode ser configurado para se conectar a uma sessão de desktop existente? ).)
Suspeito que isso pode estar relacionado a sessões de login do systemd que estão travadas de alguma forma (e talvez causando alguns problemas dbus
):
$ loginctl list-sessions
SESSION UID USER SEAT TTY STATE IDLE SINCE
3602 2001 user - - closing no -
c11 2001 user - - closing no -
c7 2001 p seat0 tty7 closing no -
...
E posteriormente se comportando mal