
Ich brauche eine separate Browserinstanz, die so konfiguriert ist, dass sie eine Verbindung zu einem bestimmten Proxy herstellt, der für den Zugriff auf ein eingeschränktes Netzwerk verwendet wird, aber nicht für normales Surfen verwendet werden kann, und die auch die Sitzung, die auf dieses Netzwerk zugreift, separat hält. Daher habe ich Firefox verwendet, der in Docker ausgeführt wird (mit einem anderen privilegierten Container, der das Netzwerk dafür einrichtet).
Früher hat es einwandfrei funktioniert, aber jetzt hat es angefangen, das ganze X für ein oder zwei Minuten zu blockieren, wobei sich der Mauszeiger weiter bewegt, aber sonst nichts neu gezeichnet wird. Die Verzögerungen scheinen durch die Anzeige eines Popups (Menü, Kombinationsfeld usw.) ausgelöst zu werden; möglicherweise gibt es auch andere Anzeigeänderungen. Ich bin nach etwa einem halben Jahr zum Projekt zurückgekehrt und habe heute die Container neu erstellt, daher bin ich mir nicht sicher, wann genau das Problem aufgetreten sein könnte.
Ich führe es mit aus -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --init --ipc host
. Ich habe auch versucht, -e _X11_NO_MITSHM=1 -e _MITSHM=0
das hinzuzufügen und zu entfernen --ipc host
, was auch funktioniert, aber das gleiche Symptom zeigt. Ich habe keinen Versuch unternommen, eine Dbus-Konnektivität einzurichten.
Das Hostsystem ist Ubuntu 20.04, auf dem neuesten Stand gehalten, mit KDE-Desktop. Die Containerbasis ist ebenfalls Ubuntu 20.04.
Leider gibt es weder in der Standardausgabe/-fehlermeldung von Firefox noch auf .xsession-errors
dem Host Fehler. Irgendeine Idee, wie man das debuggen kann?
Antwort1
Ich habe das Problem letztendlich wie folgt umgangen:
- Beginnendxpraauf einem beliebigen, fest eingestellten hohen Port (
xpra start :99
) - Einstellen des Displays auf diesen Port (
-e DISPLAY=:99
) - Beibehaltung der Mount- und IPC-Werte (
-v /tmp/.X11-unix:/tmp/.X11-unix --ipc host
) - Anbringen des xpra-Displays (
xpra attach :99
)
Die Lösung wurde inspiriert vondieses x11docker-Skriptwobei xpra eine der Optionen ist.