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의 표준 출력/오류나 호스트에는 오류가 없습니다 . 이것을 디버깅하는 방법을 아시나요?

답변1

나는 결국 문제가 무엇이든 다음과 같이 해결했습니다.

  • 시작엑스프라임의의 고정된 상위 포트( xpra start :99)
  • 디스플레이를 해당 포트( -e DISPLAY=:99) 로 설정
  • 마운트 및 IPC 유지( -v /tmp/.X11-unix:/tmp/.X11-unix --ipc host)
  • Xpra 디스플레이 부착( xpra attach :99)

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

관련 정보