Ubuntu

一個使用者帳戶中的“無法連接以顯示”

  • July 23, 2020

我有一個用 Qt 編寫的 GUI 應用程序,我想通過 ssh(或 Jenkins)執行測試。只有一個使用者帳戶,允許在顯示模式下執行它(當我以前這樣做時是 ofc export $DISPLAY=:0。在其他使用者詹金斯身上,我在控制台中看到一個錯誤:

QXcbConnection: Could not connect to display :0 
Aborted (core dumped)

我應該怎麼做才能讓這個使用者以圖形模式執行應用程序?我使用 Ubuntu 14.04。

X11vnc可能是你想要的。它將允許您使用 vnc 共享整個桌面。

或者更多控制:允許 X11 將單個視窗放在顯示屏上,也放在本地顯示屏上,然後用於xauth配置安全性。Notexhost也可以用來做同樣的事情xauth,但它非常不安全,它將允許您網路上的任何機器訪問您的桌面,並控制您的應用程序(即使您使用基於主機的身份驗證)。

我通過設置 X 虛擬幀緩衝區在無頭持續集成伺服器上使用 QTestLib 執行我的 GUI 應用程序的單元測試。

Xvfb :1 &
PID=$!
DISPLAY=:1 make check
kill $PID

引用自:https://unix.stackexchange.com/questions/148945