
Preciso de uma instância de navegador separada configurada para conectar-se a um proxy específico usado para acessar uma rede restrita, mas que não pode ser usada para navegação regular e também para manter separada a sessão de acesso a essa rede. Então, estou usando o Firefox rodando no Docker (com outro contêiner privilegiado configurando a rede para ele).
Costumava funcionar bem, mas agora começou a causar travamentos de todo o X, sempre durando um ou dois minutos, nos quais o ponteiro do mouse continua se movendo, mas nada mais é redesenhado. Os atrasos parecem ser acionados pela exibição de um pop-up (menu, caixa de combinação etc.); pode haver algumas outras alterações de exibição também. Voltei ao projeto depois de cerca de meio ano e reconstruí os contêineres hoje, então não tenho certeza de quando exatamente o problema pode ter começado.
Estou executando isso com -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --init --ipc host
. Também tentei adicionar -e _X11_NO_MITSHM=1 -e _MITSHM=0
e remover o --ipc host
, que também funciona, mas mostra o mesmo sintoma. Não fiz nenhuma tentativa de configurar a conectividade dbus.
O sistema host é o Ubuntu 20.04, atualizado, com desktop KDE. A base do contêiner também é Ubuntu 20.04.
Infelizmente, não há erros na saída/erro padrão do Firefox, nem no .xsession-errors
host. Alguma ideia de como depurar isso?
Responder1
Acabei resolvendo qualquer que fosse o problema:
- Iniciandoxpraem uma porta alta fixa e arbitrária (
xpra start :99
) - Configurando o display para essa porta (
-e DISPLAY=:99
) - Mantendo a montagem e o ipc (
-v /tmp/.X11-unix:/tmp/.X11-unix --ipc host
) - Instalando o monitor xpra (
xpra attach :99
)
A solução foi inspirada emeste script x11dockeronde xpra é uma das opções.