Docker에서 Firefox를 실행할 때 X가 잠깁니다.

Docker에서 Firefox를 실행할 때 X가 잠깁니다.

제한된 네트워크에 액세스하는 데 사용되지만 일반 탐색에는 사용되지 않는 특정 프록시에 연결하고 해당 네트워크에 액세스하는 세션을 별도로 유지하도록 구성된 별도의 브라우저 인스턴스가 필요합니다. 그래서 저는 Docker에서 실행되는 Firefox를 사용하고 있습니다(다른 권한이 있는 컨테이너를 사용하여 네트워킹을 설정함).

예전에는 잘 작동했지만 이제는 전체 X가 1~2분 동안 잠기면서 마우스 포인터가 계속 움직이지만 다른 것은 다시 그려지지 않습니다. 팝업(메뉴, 콤보 상자 등)을 표시하면 지연이 발생하는 것 같습니다. 다른 표시 변경이 있을 수 있습니다. 약 반년 후에 이 프로젝트로 돌아와서 오늘 컨테이너를 다시 구축했기 때문에 문제가 정확히 언제 시작되었는지 잘 모르겠습니다.

나는 그것을 실행하고 있습니다 -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --init --ipc host. 추가 -e _X11_NO_MITSHM=1 -e _MITSHM=0및 제거 도 시도해 보았지만 --ipc host작동하지만 동일한 증상이 나타납니다. dbus 연결 설정을 시도하지 않았습니다.

호스트 시스템은 KDE 데스크탑과 함께 최신 상태로 유지되는 Ubuntu 20.04입니다. 컨테이너 기반도 Ubuntu 20.04입니다.

.xsession-errors불행하게도 Firefox의 stdout/error나 호스트에는 오류가 없습니다. 이것을 디버깅하는 방법을 아시나요?

답변1

마침내 문제를 해결했습니다.

  • 시작XPula임의의 고정된 상위 포트에서( xpra start :99)
  • 디스플레이를 이 포트( -e DISPLAY=:99) 로 설정하세요.
  • 마운트 및 IPC 유지( -v /tmp/.X11-unix:/tmp/.X11-unix --ipc host)
  • Xpra 디스플레이 연결( xpra attach :99)

이 솔루션은 다음에서 영감을 얻었습니다.이 x11docker 스크립트그 중 xpra는 옵션 중 하나입니다.

관련 정보