staging.inyokaproject.org

Zugriff auf wine-Spiel per X-Forward?

Status: Ungelöst | Ubuntu-Version: Kubuntu 13.04 (Raring Ringtail)
Antworten |

thom_raindog

Avatar von thom_raindog

Anmeldungsdatum:
20. Mai 2005

Beiträge: 2848

Servus,

frisch nach dem Umzug in ein anderes Land und aktuell nur mit einem Monitor aber 2 PCs und nem Netbook bestückt, kam mir die Idee, an meinem zweiten Rechner auch Spielen zu können (wenn auch sicher wesentlich langsamer, geht aber nur um RP in GW2) indem ich meinen Netbook per X-Forward an die Kiste andocke und dann Playonlinux / wine und GuildWars2 starte. Bis zum zum Start klappert das auch, aber der Updater bricht nach ein paar Sekunden zusammen. Das hier erscheint auf der Konsole:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
playonlinux
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 14: reading configurations from ~/.fonts.conf is deprecated.
[main] Message: PlayOnLinux (4.2.1) is starting
[clean_tmp] Message: Cleaning temp directory
[POL_System_CheckFS] Message: Checking filesystem for /home/thom_raindog/.PlayOnLinux/
[main] Message: Filesystem is compatible
[maj_check] Message: List is up to date
[install_plugins] Message: Checking plug-in: ScreenCap...
[install_plugins] Message: Checking plug-in: PlayOnLinux Vault...
[POL_System_CheckFS] Message: Checking filesystem for Gw2.exe
[POL_Wine] Message: Running wine-1.5.28-GuildWars2 Gw2.exe -dx9single (Working directory : /home/thom_raindog/.PlayOnLinux/wineprefix/GuildWars2/drive_c/Program Files/ArenaNet/Guild Wars 2)
[POL_Wine] Message: Notice: PlayOnLinux deliberately disables winemenubuilder. See http://www.playonlinux.com/fr/page-26-Winemenubuilder.html
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 14: reading configurations from ~/.fonts.conf is deprecated.
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 14: reading configurations from ~/.fonts.conf is deprecated.
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 14: reading configurations from ~/.fonts.conf is deprecated.
Xlib:  extension "NV-GLX" missing on display "localhost:10.0".
Xlib:  extension "NV-GLX" missing on display "localhost:10.0".
Xlib:  extension "NV-GLX" missing on display "localhost:10.0".
Xlib:  extension "NV-GLX" missing on display "localhost:10.0".
Xlib:  extension "NV-GLX" missing on display "localhost:10.0".
X Error of failed request:  GLXUnsupportedPrivateRequest
  Major opcode of failed request:  153 (GLX)
  Minor opcode of failed request:  16 (X_GLXVendorPrivate)
  Serial number of failed request:  1441
  Current serial number in output stream:  1442
[POL_Wine] Message: Wine return: 1
[POL_SetupWindow_Init] Message: Creating new window for pid 5345
[main] Error: Guild Wars 2 crashed.
Click on debug link to get more details.
[POL_SetupWindow_Close] Message: Closing window for pid 5345
Registered PID: 5192 (Missing)
Registered PID: 5345 (Missing)
Registered PID: 5392 (Missing)

Ist das was ich vorhabe mal überhaupt möglich? Mein "Verständnis" von X-Forwarding wäre, das der PC die ganze Arbeit übernimmt, aber eben statt an einen (nicht vorhandenen Monitor) die Grafik an den Netbook leitet. Denke ich da falsch und der Netbook müsste doch die 3D-Generierung übernehmen, was natürlich nur in die Hose gehen kann?

Jede Hilfe willkommen.

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

So wie ich das verstanden habe, übernimmt das Zielgerät die grafischen Aufgaben, also bekommt X-Signale und muss diese an den Grafiktreiber weiterleiten und von der Grafikkarte berechnen lassen. Aber VNC sollte klappen. Allerdings ist dort ohne weitere Optionen die Bildqualität schlechter. Traffic ist im LAN ja sicherlich bei dir egal bzw. genug Reservegeschwindigkeit vorhanden.

Bei Unity dürfte die Leiste fehlen, ist bei mir jedenfalls so. Also logge am besten mit sowas wie Paket lxde ein. Oder du nimmst x11vnc, schreibe die Stunden/ Tage noch eine Kurzanleitung auf meine Benutzerseite. Damit wird nicht nur eine Session eröffnet, sondern das Bild, was auf dem realen Bildschirm (X) wäre, gespiegelt.

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Hallo,

meine Anleitung auf meiner Benutzerseite ist fertig. Leider nur nach Login lesbar, aber hier mal als Kopie für alle/ Suchfunktionen. Hinweis: Den Teil mit ssh kannst du im sicheren (W)LAN ohne Fremdzugriffe natürlich weglassen, demzufolge fällt auch die Option -localhost beim Server sowie -via beim Viewer weg.

Eine offizielle Kurznotiz habe ich auch ins Wiki gemacht, hier mal mit Revisionsnummer, falls es aus irgendwelchen Gründen zurückgesetzt werden sollte: VNC.

Der VNC-Viewer wird dann so gestartet:

vncviewer server:0

Wobei server die IP deines Fremdrechners ist.

Kopie Benutzerseite als Anregung, musst du nicht alles lesen. Vergiss PW für x11vnc anlegen nicht:

Nicht vollständig getestete Befehle

  • gemeinsame Fernsteuerung eines anderen PCs per VNC:

    • Möchte man einer vertrauten Person durch Fernsteuerung des PCs etwas einrichten, ist etwas wie ssh -CX oft nicht ausreichend: Für grafische Fernsteuerung des gesamten Desktops bietet sich VNC an. Darüber hinaus sind so auch Vorführungen und gemeinsame Übungen möglich.

    • Die vorinstallierten grafischen Varianten funktionieren bei mir nicht über SSH-Tunnel, wären also unverschlüsselt und damit für das Internet nicht verwendbar. Im Folgenden beschreibe ich aber eine einfache Terminalvariante, welche bei mir wunderbar funktioniert. Diese bietet "unendlich" viele Optionen, ich setze hier aber auf das "sinnvolle Minimum" (KISS-Prinzip) und auf möglichst wenige Konfigurationsänderungen außerhalb der Befehlszeilen, so dass man das Verfahren auch schnell auf anderen PCs anwenden kann.

    • x11vnc hat generell einige Vorteile:

      • man kann gleichzeitig von nah und fern den Rechner steuern und in einer Textdatei "chatten" - sieht also dasselbe Bild, den selben Mauszeiger, die selben Tastatureingaben und betätigten Menüs

      • die Unity-Leisten links und oben fehlen nicht, im Gegensatz zu meinen Versuchen mit tightvncserver

      • sehr schnell

    • Vorbereitungen:

      • Nötige Programme installieren:

        • Fremdrechner:

          sudo apt-get install openssh-server x11vnc
        • Viewer:

          sudo apt-get install xtightvncviewer
      • Verschlüsselung konfigurieren und Passwörter einrichten:

        • Damit die Sitzung, Daten und Passwörter nicht abgehört werden sowie die Sitzung nicht durch Fremdeingriffe beeinträchtigt werden, muss man zuvor eine Verschlüsselung per SSH konfigurieren. Ich habe die nötigen Optionen zusammengefasst, die bei einer Standard-Vorkonfiguration von SSH unter Ubuntu mindestens nötig sind (Variante sehr langes Zertifikat anstatt unsicheres Passwort):

        • Zunächst muss man noch Port 22 in seinem Router am Fremdrechner freischalten (lassen), falls dort uPnP zur automatischen Portweiterleitung nicht aktiviert ist. Letzteres ist unsicherer und damit zu vermeiden. Die Einstellung findet sich im Routermenü, abhängig vom jeweiligen Modell. Handbuch oder Suchmaschine hilft. Danach sollte einer Anmeldung an ssh nichts mehr im Wege stehen:

        • Schlüssel am lokalen Rechner erzeugen und zum Server hochladen ("Menüs" seklbsterklärend):

          ssh-keygen -t rsa
          ssh-copy-id -i ~/.ssh/id_rsa.pub nutzer@1.2.3.4

          Es folgt die Anmeldung am Fremdrechner per ssh. Hierfür braucht man Nutzername und Passwort des Nutzers am Fremdrechner, der ferngesteuert werden soll. Beispielhaft steht hier die IP 1.2.3.4 - eingesetzt werden muss die IP des Fremdrechners, die sich dort am einfachsten von der zu supportenden Person über [www.wieistmeineip.de] herausfinden lässt (wird angezeigt).

        • Server auf Fremdrechner nun etwas nachkonfigurieren und root sowie PW deaktivieren, zunächst am Fremdrechner anmelden:

          ssh nutzer@1.2.3.4
          sudo nano /etc/ssh/sshd_config

          Dort folgendes überprüfen:

          PermitRootLogin no
          PasswordAuthentication no
          UsePAM no

          Mit F3 speichern, mit F2 verlassen. Neustart von ssh:

          sudo reload ssh
        • Passwort für x11vnc anlegen:

          x11vnc -storepasswd
    • Anwendung - Aufbau einer Verbindung:

      • 1. Per ssh am Fremdrechner anmelden (falls noch nicht/ nicht mehr angemeldet):

        ssh nutzer@1.2.3.4

        Hierfür braucht man Nutzername und Passwort des Nutzers am Fremdrechner, der ferngesteuert werden soll.

      • 2. Auf Fremdrechner x11vnc starten:

        x11vnc -localhost -usepw -display :0

      • 3. Auf lokalem Rechner vncviewer starten:

        vncviewer -via nutzer@1.2.3.4 -compresslevel 9 localhost:0

        Nur das gelb Markierte muss angepasst werden, localhost am Ende muss stehenbleiben (über ssh ist man auch auf dem entfernten Rechner "lokal"). Hinweis: -compresslevel 9 ist die höchste Kompressionsstufe, die gerinste sollte 1 nicht unterschreiten. Die höchste spart Datenvolumen und Bandbreite, könnte aber eventuell etwas ausbremsen, vor allem auch sehr schwache PCs. Es sollte sich dann ein Fenster öffnen, auf dem der gesamte Desktop des fremden Rechners sichtbar ist. Der fremde Nutzer muss bei dieser Variante bereits eingeloggt sein. Eine Bildschirmsperre ist ok.

    • Weitere Details, Sonderfälle, Probleme und Hinweise zur Neueinrichtung werden in den verlinkten Artikeln behandelt, insbesondere in SSH. Wie bereits erwähnt: Nicht vergessen, dass es auch im Router freigeschalten sein muss (Port 22).

    • Schließen durch Schließen des VNC-Fensters. Die ssh-Verbindung und damit auch die VNC-Verbindung kann man durch exit trennen. Man kann stattdessen auch der zu supportenden Person sagen, dass man den PC später selbst herunterfährt, per sudo shutdown -h now oder über VNC per gewöhnlichem grafischen Herunterfahren.

    • Sicherheit: Nun läuft alles verschlüsselt und über ein seeehr langes Zertifkat als Passwort-Ersatz abgesichert. Idealerweise wurde für das Zertifikat auch ein PW bei der Frage nach dem Anlegen eines PW vergeben. sshd startet nun immer, den x11vnc-Server startet man sicherheitshalber allerdings erst dann manuell selbst, wenn man es braucht bzw. die andere Person dies wünscht/ erlaubt. Soll der ssh-Zugriff wieder entzogen werden, kann

      • entweder sshd aus dem Autostart genommen werden (Dienste) oder

      • das hochgeladene Zertifikat auf dem Server entfernt werden (aus ~/.ssh/authorized_keys bzw. mit # am Zeilenanfang des Blockes auskommentieren und ssh oder den Computer neu starten)

      • das Passwort des Nutzers geändert werden (passwd), falls er der Einzige bzw. Einzige mit SSH-Konfiguration/ Erlaubnis ist (auf all diese Varianten gehe ich hier jedoch nicht näher ein)

    • Anleitung wurde getestet, aber ist aus Wiki, History und Gedächtnis rekonstruiert. Ich hoffe, ich habe nichts vergessen.

    • Notiz für mich: alternativ eigenes Bild, aber keine Unity-Leisten per

      vncserver -localhost

      Weitere Änderungen oder Optimierungen könnten folgen.

Grüße, Benno

thom_raindog

(Themenstarter)
Avatar von thom_raindog

Anmeldungsdatum:
20. Mai 2005

Beiträge: 2848

Danke Benno, aber mit VNC hab ich bisher noch nie Erfolg gehabt, nicht ein einziges Mal, und versucht hab ich's öfter. Ich werd die Tage mal deine Hilfen antesten und schauen was passiert. ☺

Gruß, thom

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Ging mir auch oft so, endlich funktioniert es aber. Darum habe ich es gleich dokumentiert und ins Wiki, falls noch mehr von uns betroffen sind. 😉

Was funktionierte bei dir eigentlich nicht? Tunnel? Unityleisten? Hast du damit schon mal ein grafisches Bild zustandebekommen?

Im Grunde brauchst du meinen langen Text nicht wirklich, einfach installieren und die zwei Befehle ausführen (Server auf Fremdrechner, Viewer auf lokalem Rechner). So grob gesagt. 😉

Edit: Ich traue den Befehlen mehr als den grafischen Oberflächen und man kann alle Optionen schön kontrolliert kopieren. Das läuft robuster, flotter und es kann nix ungewollt verstellt sein (außer man hat an den Konfigurationsdateien rumgemehrt, aber selbst da gibt es beim Server x11vnc eine Option -norc, um diese zu ignorieren). x11vnc scheint sowieso bisschen besser zu laufen als normales VNC. Flott, Unity-Leisten da...gut so.

thom_raindog

(Themenstarter)
Avatar von thom_raindog

Anmeldungsdatum:
20. Mai 2005

Beiträge: 2848

Keine Sorge, bin auch klarer Konsolenliebhaber (ich mag nicht mal Mäuse 😉 ), und dank deiner Hilfe klappts auch. Da meine Frau aktuell den PC benutzt musste ich mit -create noch nen neuen Displayserver generieren, und per Geometry die Auflösung auf mein Netbook anpassen, aber klappt. Sieht dann so aus:

x11vnc -localhost -usepw -create -geometry 1024x600

Aber.... GW2 bricht gleich beim Start des Starters zusammen. Von daher bin ich jetzt nur bedingt weiter als vorher 😉 Und die Fehlermeldung von Playonlinux scheint mir wieder Richtung 3D-Beschleunigung zu zeigen, oder?

Checking filesystem for Gw2.exe
[POL_Wine] Message: Running wine-1.5.28-GuildWars2 Gw2.exe -dx9single (Working directory : /home/thom_raindog/.PlayOnLinux/wineprefix/GuildWars2/drive_c/Program Files/ArenaNet/Guild Wars 2)
[POL_Wine] Message: Notice: PlayOnLinux deliberately disables winemenubuilder. See http://www.playonlinux.com/fr/page-26-Winemenubuilder.html
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 14: reading configurations from ~/.fonts.conf is deprecated.
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 14: reading configurations from ~/.fonts.conf is deprecated.
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 14: reading configurations from ~/.fonts.conf is deprecated.
Xlib:  extension "NV-GLX" missing on display ":20".
Xlib:  extension "NV-GLX" missing on display ":20".
Xlib:  extension "NV-GLX" missing on display ":20".
Xlib:  extension "NV-GLX" missing on display ":20".
Xlib:  extension "NV-GLX" missing on display ":20".
X Error of failed request:  GLXUnsupportedPrivateRequest
  Major opcode of failed request:  148 (GLX)
  Minor opcode of failed request:  16 (X_GLXVendorPrivate)
  Serial number of failed request:  1228
  Current serial number in output stream:  1229
[POL_Wine] Message: Wine return: 1
[POL_SetupWindow_Init] Message: Creating new window for pid 11814
[main] Error: Guild Wars 2 crashed.
Click on debug link to get more details.

thom_raindog

(Themenstarter)
Avatar von thom_raindog

Anmeldungsdatum:
20. Mai 2005

Beiträge: 2848

Hier noch was spannendes: Obwohl ich mit dem Firefox im Internet surfen kann, hat Playonlinux keine Internetverbindung. Unten rechts in der (KDE) Taskleiste wird auch das durchgestrichene Ethernetkabel angezeigt als wäre das Lan-Kabel nicht eingesteckt. Internet geht aber definitiv, beim FF und bei mindestens einer Java-Anwendung...

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Da können wir uns nur austauschen und informieren sowie ausprobieren. Halte weiterhin Ausschau nach suchbaren Fehlermeldungen, teste mal ein anderes Wine-Spiel mit und ohne 3D-Beschleunigung sowie jeweils mal Nicht-Wine-Spiele. Jeweils mit den Ausgaben aus dem Terminal, im VNC. Schau auch mal, was der Server sowie Viewer jeweils im Terminal ausspucken, sobald das Problem auftritt.

Schön, dass VNC nun immerhin grundlegend läuft. Danke für die Option create, genau sowas hab ich noch gesucht, aber noch keine Zeit gehabt bzw. beim Manpage überfliegen fiel das erst mal wegen anderen Prioritäten durch's Raster!

Bei geometry setze ich mittlerweile auch selber Werte wie 0.6 (für's Netbook) ein. Als Viewer nutze ich mittlerweile ssvncviewer (Paket ssvnc) mit genau denselben Optionen - eine Erweiterung von xtightviewer. Darin kann man mit F8 grafisch nachträglich Optionen anpassen. Dateiübertragung gibt es auch, dazu musst du bei x11vnc aber -ultrafilexfer setzen - die andere Option funktioniert bei mir nicht richtig (Abbruch vor Dateitransfer/ keine Ordner auf der Lokalseite sichtbar).

Kommen deine GLX-Meldungen auch ohne -create, also ohne laufenden zweiten X-Server?

Es könnte tatsächlich eine Wine-Eigenheit sein. Zum einen sollen ja Nvidia-Grafikkarten damit besser laufen als die von AMD, aber hast du ja. Zum anderen habe ich festgestellt, dass man bei xtightvncviewer mit Mittelklick Text zwischen lokalem umd Fernrechner hin- und herkopieren kann, bei Wine (Notepad) funktionierte das aber nicht.

Ich glaube, man konnte daraus in Gedit auf dem selben Rechner in VNC kopieren und von da aus dann zum lokalen Rechner. Also wurde es ja schon in die Zwischenablage eingefügt. Aber die auf dem lokalen Rechner wurde nicht synchronisiert. Da fällt mir aber ein, dass es sogar dafür Optionen gab...

Hier noch was spannendes:

Auch hier wäre interessant: Siehst du da einen Zusammenhang zu VNC? Also ohne -create sollte doch derselbe Fehler sowohl unter VNC als auch am Fremdrechner an dessen Bildschirm sitzend (oder stehend 😊) nachvollziehbar sein. VNC greift eigentlich nicht in den Networkmanager bzw. das Netzwerk ein, es nutzt es nur, wie jede andere Anwendung auch. Es wird quasi nur die Grafikkarte ausgelesen...

Eventuell war nur der Playonlinux-Server oder eine Internetadresse als Teil des PoL-Scriptes des zu installierenden Programms kurzzeitig überlastet?

Ansonsten habe ich aber noch die Option -nojpg beim Viewer als Tipp im (W)LAN für dich - auf einmal werden leicht verwischte Farben und Kanten wieder gestochen scharf! Dürfte für's Spielen interessant sein, ansonsten musst du eben das neue Supertuxkart spielen. 😊 http://forum.ubuntuusers.de/topic/supertuxkart-news/9/#post-6131687 Klingt aber auch nicht langweilig, vor allem auch der Fußballmodus, obwohl ich Fußball nicht sonderlich spannend finde! 😉

Edit: Probier nochmal am Fremdrechner sitzend (ohne VNC) das Spiel, welche Terminal-Ausgaben kommen da? Vielleicht ist was durch Updates kaputtgegangen.

thom_raindog

(Themenstarter)
Avatar von thom_raindog

Anmeldungsdatum:
20. Mai 2005

Beiträge: 2848

Ist doch zum Jammern... jetzt wollte ich es mal an dem Rechner testen, um den es mir eigentlich geht, und dort bekomme ich nur ein nacktes X zustande, ohne DM. Dort kommt n 12.04er Ubuntu (LXDE oder XFCE, so ganz sicher bin ich grad nicht) zum Einsatz, von dem ich per VNC aber nix zu sehen bekomme. Und nur X-Server ist jetzt SOO spannend auch nicht.

Fällt dir da was ein? Auf dem Rechner laufen außer meiner VNC-Sitzung keine Sitzungen, meine Frau ist ja an ihrem Rechner unterwegs ☺

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Da müsstest du mal in einem neuen Thema beschreiben, wie es dazu kam und alles etwas genauer dokumentieren (Foto etwa).

thom_raindog

(Themenstarter)
Avatar von thom_raindog

Anmeldungsdatum:
20. Mai 2005

Beiträge: 2848

Mach ich nachher. Kurze Frage am Rande: Muss bei deinem Vorgehen notwendigerweise der Nutzer in den grafischen Desktop eingeloggt sein? Oder reicht es per Konsole am Rechner angemeldet zu sein?

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Hab ich mittlerweile auch schon eine Weile getestet und auf meiner Benutzerseite festgehalten gehabt:

sudo x11vnc -localhost -usepw -display :0 -auth /var/run/lightdm/root/:0
Antworten |