Hallo alle zusammen Ich plage mich immer noch mit meiner nicht funktionierende Weiter- leitung rum.
eingesetzte Plattform: (spielt keine Rolle) SuSE 6.0 SuSE 6.4 DLDLinux (Mandrake 7.0 hätte ich noch zu bieten das ist aber eher was für Masochisten)
was will ich? von einen Rechner auf den anderen Rechner das X umleiten
was tritt für ein Fehler auf? Fall 1: Ich logge mich per ssh auf den Dienstleistungsrechner (Neudeutsch Server) ein. (es geht nur ssh) Ich gebe 'export DISPLAY=[Zielrechnername]:0' ein Wenn ich jetzt gleich dreisterweise 'startx' eingebe läuft auf den Server das X hoch und nicht auf den Zielrechner. Die Variable Display ist aber richtig gesetzt.
Fall 2: Ich starte auf den Zielrechner X-Windows. Dann verbinde ich mich mit den Server per ssh. Dann wird das Spiel mit 'export DISPLAY=[Zielrechnername]:0' fort- gesetzt. So nun will ich gleich die betreffende Anwendung starten, weil ja auf meinen Zielrechner schon X läuft. z.B. kmahjongg dann erhalte ich als Fehlermeldung
Xlib: connection to "suselinux1:0.0 refused by server Xlib: Client is not authorized to connect to Server kmahjongg: cannot connect to X server suselinux1:0
Anmerkung: Fall 2 muß ich immer abspulen wenn ich Linux zur NT-Kiste weiterleiten will. Dort klappt es prima.
was habe ich bisher gemacht: -'man xauth' gelesen und die Datei .Xauthority auf allen 3 Rechner abgeglichen. Somit hat jeder Rechner von den anderen das Magic-Cookie Erfolg = 0 -'man xdm' gelesen In der Datei Xaccess habe ich bei allen 3 Rechner *.doham.de ein- getragen, hat aber auch nichts gebracht -'man xinit', 'man X' 'man Xsecurity' haben keine weitere Geistes- blitze bewirkt.
Was mach ich falsch? Wo muß ich noch was eintragen / kontrollieren?
Manchmal frage ich mich: ist das Feature überhaupt schon richtig implementiert, oder habe ich in irgendein Manual die Worte "comming soon!" überlesen? X11 ist ja erst 16 Jahre alt :)
Schlaft schön Andreas
On Thursday 17 May 2001 00:17, Andreas Oettel wrote:
Hallo alle zusammen Ich plage mich immer noch mit meiner nicht funktionierende Weiter- leitung rum.
eingesetzte Plattform: (spielt keine Rolle) was will ich? von einen Rechner auf den anderen Rechner das X umleiten
Das ganze X? (geht net) Oder die Anzeige eines X-Programms? (geht)
was tritt für ein Fehler auf? Fall 1: Ich logge mich per ssh auf den Dienstleistungsrechner (Neudeutsch Server) ein. (es geht nur ssh) Ich gebe 'export DISPLAY=[Zielrechnername]:0' ein
wozu? Wenn Du ssh -X machst, dann kümmert sich ssh um die Weiterleitung
Wenn ich jetzt gleich dreisterweise 'startx' eingebe läuft auf den Server das X hoch und nicht auf den Zielrechner.
logisch. X läuft dort hoch, wo die Grafikkarte an den Prozessor angestöpselt ist. Alles andere wäre ein fatales Sicherheitsloch.
Die Variable Display ist aber richtig gesetzt.
Fall 2: Ich starte auf den Zielrechner X-Windows. Dann verbinde ich mich mit den Server per ssh. Dann wird das Spiel mit 'export DISPLAY=[Zielrechnername]:0' fort- gesetzt.
s.o. Ansonsten musst Du den Server auf dem Zielrechner freischalten (xhost +server) oder die ~/.Xauthority kopieren.
So nun will ich gleich die betreffende Anwendung starten, weil ja auf meinen Zielrechner schon X läuft. z.B. kmahjongg dann erhalte ich als Fehlermeldung
Xlib: connection to "suselinux1:0.0 refused by server Xlib: Client is not authorized to connect to Server kmahjongg: cannot connect to X server suselinux1:0
s.o.
Anmerkung: Fall 2 muß ich immer abspulen wenn ich Linux zur NT-Kiste weiterleiten will. Dort klappt es prima.
weil die NT-X-Server keinerlei Sicherheitsfunktionen bieten.
was habe ich bisher gemacht: -'man xauth' gelesen und die Datei .Xauthority auf allen 3 Rechner abgeglichen. Somit hat jeder Rechner von den anderen das Magic-Cookie Erfolg = 0 -'man xdm' gelesen In der Datei Xaccess habe ich bei allen 3 Rechner *.doham.de ein- getragen, hat aber auch nichts gebracht -'man xinit', 'man X' 'man Xsecurity' haben keine weitere Geistes- blitze bewirkt.
Was mach ich falsch? Wo muß ich noch was eintragen / kontrollieren?
Manchmal frage ich mich: ist das Feature überhaupt schon richtig implementiert, oder habe ich in irgendein Manual die Worte "comming soon!" überlesen? X11 ist ja erst 16 Jahre alt :)
Funktioniert alles prima, wenn der Richtige davor sitzt ;-)
Das beste wird sein, Du kommst zur nächsten LUG (am 23.5.) auf mich zu und läßt es Dir vorführen.
Konrad
PS.: bis dahin die brutale Methode: 1. starte X auf dem Zielrechner (startx) 2. mach ein xterm (oder eine konsole) auf und tipp "xhost +" ein 3. verbinde Dich mit dem Server und spul Dein NT-Programm ab 4. warum das total unsicher ist erklär ich Dir in Ruhe auf dem LUG-Treffen
Vielen Dank an alle, es klappt jetzt.
Eine kurze Zusammenfasseung für die Akten (Archiv)
1. Die Datei .Xauthority mittels `xauth` auf den Server und den Client abgleichen 2. X-Windows auf den lokalen Rechner starten 3. per ssh auf den server einwählen 4. Anwendung starten
So einfach und doch kann man damit Tage wertvoller Freizeit verbringen.
Viele Grüße Andreas
Hi Andreas,
On Wed, May 16, 2001 at 23:17:52 +0100, Andreas Oettel wrote:
Fall 1: Ich logge mich per ssh auf den Dienstleistungsrechner (Neudeutsch Server) ein. (es geht nur ssh) Ich gebe 'export DISPLAY=[Zielrechnername]:0' ein Wenn ich jetzt gleich dreisterweise 'startx' eingebe läuft auf den Server das X hoch und nicht auf den Zielrechner.
Was auch voellig korrekt ist. Du startest einen X-Server auf dem entfernten Rechner, also greift er auch auf diesem Rechner auf die Grafikkarte zu.
Bei X laeuft das mit "Server" und "Client" etwas anders :-) Den Server musst Du lokal laufen lassen. Die Clients (also die X-Anwendungen) koennen lokal oder remote gestartet werden und bekommen per DISPLAY gesagt, auf welchen Server sie zugreifen sollen.
"Haendisches" X-Umleiten funktioniert so, dass Du zuerst dem remote Rechner Zugriff auf den lokal bei Dir laufenden X-Server gibst (per xhost), Dich dann auf den remote Rechner einloggst, die DISPLAY-Variable entsprechend setzt (export DISPLAY=lokalerhost:0.0) und dann X-Anwendungen startest. Sehr umstaendlich also und ausserdem mit xhost auch sehr unsicher, weil die Zugriffsberechtigung nur an Hostnamen / IP-Adresse des remote Rechners gebunden ist (Stichwort: Spoofing). Eine bessere Authentifizierung stellt xauth zur Verfuegung, aber auch dort ist noch "Handarbeit" angesagt.
Benutzt Du dagegen ssh, ist die X-Umleitung gleich mit eingebaut und wird obendrein noch verschluesselt uebertragen. Ssh kuemmert sich um das Setzen den DISPLAY-Variable[1] und die Authentifizierung. Eventuell musst Du ssh explizit mit -X aufrufen, damit die X-Umleitung aktiviert wird.
[1] Ssh setzt DISPLAY uebrigens auf remotehost:displaynummer, wobei diese displaynummer nicht einen eventuell remote laufenden X-Server anspricht, sondern den ssh-Tunnel zu Deinem lokalen Rechner.
bye, Chris
lug-dd@mailman.schlittermann.de