從 docker 運行 Firefox 時 X 鎖定

從 docker 運行 Firefox 時 X 鎖定

我需要一個單獨的瀏覽器實例,該實例配置為連接到用於存取受限網路的特定代理,但不能用於常規瀏覽,並且還可以保持訪問該網路的會話分開。所以我一直在使用在 Docker 中運行的 Firefox(使用另一個特權容器為其設定網路)。

它曾經工作得很好,但現在它開始導致整個 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。

.xsession-errors不幸的是,Firefox 的標準輸出/錯誤和主機上都沒有錯誤。知道如何調試這個嗎?

答案1

我最終解決了問題所在:

  • 開始X普拉在任意固定高端口 ( xpra start :99)
  • 將顯示器設定至該連接埠 ( -e DISPLAY=:99)
  • 保留掛載和 ipc ( -v /tmp/.X11-unix:/tmp/.X11-unix --ipc host)
  • 連接 xpra 顯示幕 ( xpra attach :99)

該解決方案的靈感來自這個 x11docker 腳本其中 xpra 是選項之一。

相關內容