X зависает при запуске Firefox из Docker

X зависает при запуске Firefox из Docker

Мне нужен отдельный экземпляр браузера, настроенный на подключение к определенному прокси-серверу, который используется для доступа к ограниченной сети, но не может использоваться для обычного просмотра, а также для сохранения сеанса доступа к этой сети отдельным. Поэтому я использую Firefox, работающий в Docker (с другим привилегированным контейнером, настраивающим для него сеть).

Раньше все работало нормально, но теперь это стало вызывать зависания всего X, которые всегда длятся минуту или две, в течение которых указатель мыши продолжает двигаться, но больше ничего не перерисовывается. Задержки, похоже, вызваны отображением всплывающего окна (меню, выпадающего списка и т. д.); возможно, это какие-то другие изменения отображения. Я вернулся к проекту примерно через полгода и перестроил контейнеры сегодня, поэтому я не уверен, когда именно могла начаться проблема.

Я запускаю его с -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --init --ipc host. Я также пробовал добавлять -e _X11_NO_MITSHM=1 -e _MITSHM=0и удалять --ipc host, что тоже работает, но показывает тот же симптом. Я не пытался настроить подключение dbus.

Хост-система — Ubuntu 20.04, поддерживаемая в актуальном состоянии, с рабочим столом KDE. База контейнера — также Ubuntu 20.04.

К сожалению, нет ошибок ни на стандартном выходе/ошибке Firefox, ни на .xsession-errorsхосте. Есть идеи, как это отладить?

решение1

В конце концов я решил эту проблему следующим образом:

  • Начинаяxpraна произвольном, фиксированном высоком порту ( xpra start :99)
  • Настройка дисплея на этот порт ( -e DISPLAY=:99)
  • Сохранение монтирования и ipc ( -v /tmp/.X11-unix:/tmp/.X11-unix --ipc host)
  • Прикрепление дисплея xpra ( xpra attach :99)

Решение было вдохновленоэтот скрипт x11dockerгде xpra — один из вариантов.

Связанный контент