web-dev-qa-db-ja.com

MacからUbuntuへのSSH:Xフォワーディングが正しく動作しませんか?

Mac Pro、ATI Radeon Graphicsカードを搭載したOS X El Capitan 10.11.4、およびXQuartz v 2.7.9の実行

私のマシンでqdecとfreeviewを完璧に実行できます。問題は、Ubuntu 12.04(Nvidia GeForce GTX 650)マシンにSSHで接続してこれらのプログラムを使用するときに発生します(以前は正常に動作していましたが、構成の一部が変更されたかどうか疑問に思っています)

Ubuntuマシンにsshを実行すると、次のエラーが表示されます。

[myuser@ubuntu-machine:~] freeview
Xlib: extension "NV-GLX" missing on display "localhost:10.0". 
X Error: BadValue (integer parameter out of range for operation) 2
Extension:    150 (Uknown extension)
Minor opcode: 3 (Unknown request)
Resource id:  0x0
Abort         (core dumped)

[myuser@ubuntu-machine:~] qdec
Xlib: extension "NV-GLX" missing on display "localhost:10.0".
X Error of failed request:  BadValue (integer parameter out of range for operation)
Major opcode of failed request:  150 (GLX)
Minor opcode of failed request:  3 (X_GLXCreateContext)
Value in failed request:  0x0
Serial number of failed request:  1504
Current serial number in output stream:  1505

私の限られた知識に基づいて、X/SSH、およびグラフィックスカードに問題があるようですが、ここから先に進む方法はわかりません。誰かがこれを克服する方法についてアイデアを持っているなら、私は信じられないほど感謝しています!

Ubuntuマシン自体にもモニターがあり、qdecおよびfreeviewをローカルで問題なく実行できます。この問題はSSHで発生するようです。 Ubuntuマシンの一部のプログラムはこの方法で正しく動作します(ただし、バックグラウンドターミナルではXについて大声で文句を言います)

Macは最近XQuartzを更新しましたが、この問題が更新前に発生していたかどうかはわかりません。

ssh -yを試みましたが、これは同じエラーを返します。

UbuntuマシンへのSSH後もexport LIBGL_ALWAYS_INDIRECT=1ですが、それでも同じエラーが発生します。

公式の質問:これらのエラーは何を意味し、どのように修正を試みることができますか?

4
Elijah Rockers

これはXQuartzの問題のようです。どうやら彼らはひどく人員不足であり、プロジェクトを生命維持するのにかろうじて十分な時間がない。この問題に直面している場合は、バグレポートの誰かに有効だったため、XQuartz 2.7.8に戻します。

Amias Channerが提案したように、他のオプションとしてVNCを使用することもできます。

https://bugs.freedesktop.org/show_bug.cgi?id=93953#c6

XQuartzのリード開発者によると:

問題が間接レンダリングにあることを考えると、XQuartzのxorg-serverの変更か、リモートシステムのlibGLまたはX11スタックの変更のいずれかです。私の予感は、リモートlibGLが変更され、XQuartzのIGLXサポートの何かが変更されたことです。古いバージョンのXQuartzを実行して、それが古いバージョンのXQuartzで動作するかどうかを確認できる場合は、これが再び動作するように変更できる可能性があります。前述したように、IGLXはXQuartzだけでなく、一般的に生命維持に使用されています。

そして:

ええ、バグレポートで述べたように、プロジェクトに取り組んでいる人があまりいないので、このような問題がすぐに修正される可能性はあまりありません。私は毎月2〜3時間程度かかわっていますが、これはセキュリティ修正プログラムを取り込み、テストを行い、更新を送信するのにちょうど十分な時間です。 OpenGL Coreのサポートをダイレクトレンダリングパスに追加するのは、サインアップするよりも手間がかかります。あなたが求めているのは、間接レンダリングパスにそれを追加することであり、それは起こりそうもないことです。 Xorgは積極的にAIGLXを非推奨にしており、デフォルトの構成からも削除しているので、AIGLXのサポートを完全に削除するだけの解決策があると思います。

3
Elijah Rockers

NV-GLXは、NVIDIA OpenGLアクセラレーションを探していることを示唆しています

これは、ubuntuマシンがデスクトップの3Dアクセラレーションを見つけようとしていることを意味します。

これらのアプリケーションのリモート表示ssh X転送では機能しないようです。

加速が発生した後、RDPやVNCなどを使用して画像を表示する必要があります。

1
Amias

これに基づいて link ローカルのMac OS Xで次のことを試しましたか?

defaults write org.macosforge.xquartz.X11 enable_iglx -bool true

XQuartzはデフォルトで間接GLXをサポートしていないようです。

0
Ali