ユーザーアカウントで「ディスプレイに接続できません」

ユーザーアカウントで「ディスプレイに接続できません」

Qtで書かれたGUIアプリケーションがあり、ssh(またはJenkins)を介してテストを実行したいと思います。表示モードで実行できるユーザーアカウントは1つだけです(以前はofc)export $DISPLAY=:0。他のユーザーjenkinsのコンソールにエラーが表示されます。

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

このユーザーがグラフィカルモードでアプリケーションを実行できるようにするにはどうすればよいですか? Ubuntu 14.04を使用してください。

答え1

X仮想フレームバッファを設定してGUIアプリケーションに対して単体テストを実行するために、ヘッドレス連続統合サーバーでQTestLibを使用しています。

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

答え2

X11vncたぶんそれはあなたが望むものかもしれません。 vncを使用してデスクトップ全体を共有できます。

あるいは、より多くの制御のために、X11がディスプレイとローカルディスプレイに別々のウィンドウを配置できるようにし、セキュリティを設定するためにxauth使用することもできます。 Notexhostも同じことを行うために使用できますが、それはxauth非常に安全ではなく、ネットワーク上のすべてのコンピュータがデスクトップにアクセスしてアプリケーションを制御できます(ホストベースの認証を使用している場合でも)。

答え3

@tveronesiソリューションによっては、Xサーバーへのローカル接続のみを許可できます。

xhost +local:

関連情報