SSH von meinem Mac zu Ubuntu: X-Weiterleitung funktioniert nicht richtig?

SSH von meinem Mac zu Ubuntu: X-Weiterleitung funktioniert nicht richtig?

Ausführen eines Mac Pro, OS X El Capitan 10.11.4 mit ATI Radeon-Grafikkarte und XQuartz v 2.7.9

Ich kann Qdec und Freeview auf meinem Rechner problemlos ausführen. Das Problem tritt auf, wenn ich versuche, mich per SSH mit einem Ubuntu 12.04-Rechner (Nvidia GeForce GTX 650) zu verbinden und diese Programme zu verwenden (früher hat das problemlos funktioniert, aber ich frage mich, ob sich jetzt etwas an unserer Konfiguration geändert hat).

Ich erhalte die folgenden Fehler nach der SSH-Anmeldung zur Ubuntu-Maschine.

[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

Nach meinem begrenzten Wissen scheint es sich wahrscheinlich um ein Problem mit X/SSH und der Grafikkarte zu handeln, aber ich bin mir nicht sicher, wie ich von hier aus weitermachen soll. Wenn jemand eine Idee hat, wie man das Problem lösen kann, wäre ich unglaublich dankbar!

Die Ubuntu-Maschine selbst hat auch einen Monitor und kann Qdec und Freeview lokal problemlos ausführen. Das Problem scheint über SSH aufzutreten. Einige Programme auf der Ubuntu-Maschine funktionieren auf diese Weise ordnungsgemäß (aber sie beschweren sich im Hintergrundterminal lautstark über X).

Der Mac hat XQuartz kürzlich aktualisiert, aber ich bin nicht ganz sicher, ob dieses Problem schon vor dem Update auftrat oder nicht.

Wir haben es versucht ssh -y, aber es tritt derselbe Fehler auf.

Wir export LIBGL_ALWAYS_INDIRECT=1melden uns auch per SSH bei der Ubuntu-Maschine an, erhalten aber immer noch denselben Fehler.

Die offizielle Frage: Was bedeuten diese Fehler und wie kann ich versuchen, sie zu beheben?

Antwort1

Dies scheint ein Problem mit XQuartz zu sein. Anscheinend sind sie stark unterbesetzt und haben kaum genug Zeit, um das Projekt am Leben zu erhalten. Wenn Sie auch mit diesem Problem konfrontiert sind, versuchen Sie, zu XQuartz 2.7.8 zurückzukehren, da dies bei jemandem im Fehlerbericht funktioniert hat.

Ihre anderen Optionen könnten die Verwendung von VNC sein, wie von Amias Channer vorgeschlagen.

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

Laut dem leitenden Entwickler von XQuartz:

Da das Problem mit indirektem Rendering zusammenhängt, handelt es sich entweder um eine Änderung am Xorg-Server in XQuartz oder eine Änderung in libGL oder dem X11-Stack auf dem Remote-System. Ich vermute, dass sich die Remote-libGL geändert hat und sich möglicherweise etwas an der IGLX-Unterstützung von XQuartz geändert hat. Wenn Sie versuchen können, ältere Versionen von XQuartz auszuführen, um zu sehen, ob es mit einer älteren Version von XQuartz funktioniert, könnte dies auf eine Änderung hinweisen, die vorgenommen werden könnte, um dies wieder zum Laufen zu bringen. Obwohl, wie ich bereits erwähnt habe, IGLX im Allgemeinen künstlich am Leben erhalten wird, nicht nur in XQuartz.

Und:

Ja, wie ich im Fehlerbericht erwähnt habe, besteht keine große Chance, dass solche Dinge bald behoben werden, da nicht viele Leute an dem Projekt arbeiten. Ich habe vielleicht 2-3 Stunden pro Monat oder so, was gerade genug Zeit ist, um Sicherheitskorrekturen einzuspielen, einige Tests durchzuführen und ein Update zu versenden. Die Unterstützung für OpenGL Core in unserem direkten Rendering-Pfad hinzuzufügen, ist mehr Arbeit, als ich mir leisten kann. Was Sie verlangen, ist, es dem indirekten Rendering-Pfad hinzuzufügen, und das ist noch unwahrscheinlicher, dass jemals passieren wird. Xorg lehnt AIGLX aktiv ab und entfernt es sogar aus der Standardkonfiguration, daher vermute ich, dass die Lösung darin bestehen wird, die Unterstützung für AIGLX einfach vollständig zu entfernen.

Antwort2

NV-GLX scheint nach NVIDIA OpenGL-Beschleunigung zu suchen

Das würde bedeuten, dass die Ubuntu-Maschine versucht, eine 3D-Beschleunigung für ihren Desktop zu finden.

Es sieht so aus, als ob das für diese Anwendungen über die Remote-Anzeige-SSH-X-Weiterleitung nicht funktioniert.

Sie müssen etwas wie RDP oder VNC verwenden, um das Bild nach der Beschleunigung anzuzeigen.

Antwort3

Basierend aufVerknüpfungHaben Sie Folgendes auf Ihrem lokalen Mac OS X versucht?

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

Es scheint, dass XQuartz indirektes GLX standardmäßig nicht unterstützt.

verwandte Informationen