• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Display "nicht" Umleiten

ich benutze ein Programm (ProjectX), welches zwar auf der Konsole läuft, aber trotzdem eine grafische Oberfläche benötigt da es in Java programmiert ist. Es wird zwar nichts ausgegeben, aber auf einem PC ohne X läuft das Programm nicht.

Normalerweise lasse ich es am lokalen PC in einem X-Terminal laufen, was gut klappt.

Jetzt möchte ich es aber von einem entfernten PC starten. Dazu logge ich mich mit ssh ein und bekomme eine Konsole. Dort möchte ich dann ProjectX starten, was natürlich nicht klappt, weil die grafische Oberfläche fehlt.

Wie kann ich das Programm dazu bringen, dass es die Oberfläche seines eigenen PCs benutzt, auch wenn ich es von einem Remote PC aus starte ?

Falls ich mich schlecht ausgedrückt habe, hier ein klareres Beispiel:

PC-A ... 192.168.0.2
PC-B ... 192.168.0.44

Ich sitze von PC-B und logge mich in PC-A mit
ssh -l user 192.168.0.2
ein und erhalte eine Konsole von PC-A.

Hier gebe ich "kwrite" ein.
Die grafische Oberfläche von kwrite soll auf PC-A erscheinen.

Ist soetwas möglich ? Meine bisherigen Versuche mit DISPLAY usw. waren sicher falsch.
 
A

Anonymous

Gast
Der user der auf dem PC-A den Xserver gestartet hat, der muss unter seiner Kennung
Code:
xhost +
abgeben, um damit allen Usern das Recht zu nutzung seines X-Servers freizuschalten.

wenn du dich von PC-B an PC-A angemeldet hast, dann setzt du dort deine Displayvariable auf den PC-A
Code:
 export DISPLAY=:0.0

und schon sollte es funktionieren

robi
 
robi schrieb:
Der user der auf dem PC-A den Xserver gestartet hat, der muss unter seiner Kennung
Code:
xhost +
abgeben, um damit allen Usern das Recht zu nutzung seines X-Servers freizuschalten.

wenn du dich von PC-B an PC-A angemeldet hast, dann setzt du dort deine Displayvariable auf den PC-A
Code:
 export DISPLAY=:0.0

und schon sollte es funktionieren

robi

Besser als nur "xhost +" wäre "xhost +rechnername". Der Rechner muss beim X-Client aber bekannt sein. Client ist hier der entfernte Rechner. Dein lokaler Rechner ist für X der Server, weil er Bildschirm-Ausgabe und Tastatur- und Mauseingaben bereitstellt.
 
A

Anonymous

Gast
xhost +rechnername

das wird bei den meisten neuen X-Konfigurationen gar nichts bringen, da X neuerdings meist so gestartet wird, dass er nicht auf TCP/IP Port 6000 hört.
Deshalb gehen auch DISPLAY=192.168.1.1:0.0 oder ähnliches nicht, da er dazu über TCP/IP hören müsste, es geht nur localhost oder Host ganz weglassen.

Aber das braucht man alles fast gar nicht mehr,
ssh -X erledigt fast alle Probleme heutzutage

robi
 
robi schrieb:
xhost +rechnername

das wird bei den meisten neuen X-Konfigurationen gar nichts bringen, da X neuerdings meist so gestartet wird, dass er nicht auf TCP/IP Port 6000 hört.
Deshalb gehen auch DISPLAY=192.168.1.1:0.0 oder ähnliches nicht, da er dazu über TCP/IP hören müsste, es geht nur localhost oder Host ganz weglassen.

Aber das braucht man alles fast gar nicht mehr,
ssh -X erledigt fast alle Probleme heutzutage

zudem ist der direkte TCP-Verkehr unverschlüsselt... und das will man nicht wirklich.

jetzt zum Problem, wofür braucht das X? muss der Server laufen, oder werden nur die Libs benötigt? wenn der Server laufen muss, dann gehts über ssh -X wenn es um die Libs geht, dann müssen die basis-X-Libs auf dem Server installiert werden.
 
Danke für die Hilfe,

das xhost+ und DISPLAY.... macht genau das was ich suchte.

Mit ssh -X oder -Y kommt die Oberfläche am eigenen (also nicht am entfernten Server), aber in meinem Fall macht das auch nichts, da sowieso kaum Daten übertragen werden, klappt also auch gut.

Falls es noch wen interessiert wozu das ganze gut sein soll:
Mein Server zeichnet Videos mit MythTV auf. Jetzt kann ich diese auch weiterverarbeiten, wenn ich unterwegs bin und nur eine schwache Internetanbindung habe.
 
Oben