QML技術を使用してQtアプリケーションを構築しています。 QMLはOpenGLを使用します。
ビルドを実行するコンピュータは、Intel GPUを搭載したCentOS 6.7です。私はSSHを介してのみそれを使用し、XMing(または時にはVcxSrv)を使用してグラフィックアプリケーションを開きます。
うまくいくのは難しいですが、問題を検索してxauthを使用すると、QMLアプリをリモートで開くことができます。
しかし、
一般ユーザーとしてアプリケーションを実行すると、次の結果が表示されます。
KiTTY X11 proxy: Unsupported authorisation protocol
QXcbConnection: Could not connect to display localhost:10.0
私は次のエラーメッセージを見つけました:サポートしていない(に関する質問がたくさんあります。間違った規約)
そして
ルートでのみ開くことができます(sudo
ここでは機能しません。必要ですsu
)、いくつかのエラーが発生します。
現在、画面リソースを取得できません。警告:GLX 1.3がサポートされていない場合、/home/user/QMLapp/appアプリケーションはGLX 1.3関数 "glXCreatePbuffer"を呼び出します!これはアプリケーションエラーです! QXcbConnection:XCBエラー:170(不明)、シーケンス:163、リソースID:90、メジャーコード:146(不明)、マイナーコード:20
メモ: glxinfoが良く見え、直接レンダリングが有効になります。 glxgeersもうまく機能し、ルートは必要ありません。
最初の質問:GLXを簡単にアップグレードできますか? 2番目の質問:なぜルートでしか実行できないのですか?
ベストアンサー1
QXcbConnection: Could not connect to display localhost:10.0
上記のエラーには、いくつかの手がかりを含めることができます。これは、このユーザーの変数が$DISPLAY
localhost:10.0に設定されていることを意味します。
ルートに訴えた後、を使用して変数を再確認できますecho $DISPLAY
。次に、一般ユーザーに合わせて変数値を変更します。
正しい値は次のようになります。localhost:0.0