
Мне нужен отдельный экземпляр браузера, настроенный на подключение к определенному прокси-серверу, который используется для доступа к ограниченной сети, но не может использоваться для обычного просмотра, а также для сохранения сеанса доступа к этой сети отдельным. Поэтому я использую 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 — один из вариантов.