Hallo, ich trage die Antwort mal wieder auf die Liste. Hoffe, das geht in Ordnung. Situation: ssh login von Rechner A auf Rechner B (Suse). KMail auf B starten (X-Umleitung nach A) und dort auf URL klicken. On Sunday 22 January 2006 23:12, Steffen Dettmer wrote:
* Achim Schäfer wrote on Sun, Jan 22, 2006 at 18:41 +0100:
Jetzt das erstaunliche: Ist Rechner A mein Suse 9.1 Rechner, so öffnet sich der Firefox auf Rechner B (natürlich mit Anzeige auf Rechner A). Ist aber Rechner A ein Fedora Rechner, so öffnet sich der Firefox auf Rechner A !
[...] Ich würde vielleicht mit ssh -v anfangen.
OK, ich habe das zwar gerade nur auf zwei Fedora Rechnern testen können, denke aber, dass das bei Suse nicht anders sein wird. Details s.u.
Kann mir nicht vorstellen, wie das kommt, und vor allem, warum B auf A ein Firefox starten darf. Oder läuft der schon und macht nur neues Fenster auf?
Das scheint ein entscheidender Punkt zu sein. Wenn Firefox noch nicht läuft, wird er remote gestartet (Rechner B). Falls aber auf Rechner A schon ein Firefox läuft, öffnet sich die angeklickte URL in diesem Firefox auf Rechner A. Wie das ganze bei den zwei Suse Rechnern aussieht, muss ich heute abend mal testen.
Wie werden die Klicks ausgewertet?
Auf B ist das display ja :10 oder sowas, was von SSH weitergeleitet wird. Soweit ich weiss, sollte die unten liegende xlib das halt über's Netz die klicks zur Applikation schicken, wobei natürlich die connection, die von SSH getunnelt wird, verwendet werden müsste. Also dürfte kmail natürlich gar nicht wissen, dass das End-Display auf Rechner A liegt!
So ähnlich hätte ich mir das auch gedacht. Deshalb verstehe ich auch immer noch nicht, warum sich der angeklickte Link im laufenden Firefox auf Rechner A öffnet. Für diesen Fall habe ich mal die Ausgabe von ssh -vvv protokolliert. Vielleicht kann da jemand mehr draus lesen als ich: -------------------------- debug2: channel 6: rcvd adjust 32908 debug1: client_input_channel_open: ctype x11 rchan 9 win 65536 max 16384 debug1: client_request_x11: request from 127.0.0.1 39712 debug2: fd 13 setting O_NONBLOCK debug3: fd 13 is O_NONBLOCK debug1: channel 7: new [x11] debug1: confirm x11 debug1: client_input_channel_open: ctype x11 rchan 10 win 65536 max 16384 debug1: client_request_x11: request from 127.0.0.1 39713 debug2: fd 14 setting O_NONBLOCK debug3: fd 14 is O_NONBLOCK debug1: channel 8: new [x11] debug1: confirm x11 debug2: channel 7: rcvd eof debug2: channel 7: output open -> drain debug2: channel 7: obuf empty debug2: channel 7: close_write debug2: channel 7: output drain -> closed debug1: channel 7: FORCE input drain debug2: channel 7: ibuf empty debug2: channel 7: send eof debug2: channel 7: input drain -> closed debug2: channel 7: send close debug3: channel 7: will not send data after close debug3: channel 7: will not send data after close debug3: channel 7: will not send data after close debug3: channel 7: will not send data after close debug3: channel 7: will not send data after close debug2: channel 7: rcvd close debug3: channel 7: will not send data after close debug2: channel 7: is dead debug2: channel 7: garbage collecting debug1: channel 7: free: x11, nchannels 9 debug3: channel 7: status: The following connections are open: #0 client-session (t4 r0 i0/0 o0/0 fd 4/5 cfd -1) #1 x11 (t4 r3 i0/0 o0/0 fd 7/7 cfd -1) #2 x11 (t4 r4 i0/0 o0/0 fd 8/8 cfd -1) #3 x11 (t4 r5 i0/0 o0/0 fd 9/9 cfd -1) #4 x11 (t4 r6 i0/0 o0/0 fd 10/10 cfd -1) #5 x11 (t4 r7 i0/0 o0/0 fd 11/11 cfd -1) #6 x11 (t4 r8 i0/0 o0/0 fd 12/12 cfd -1) #7 x11 (t4 r9 i3/0 o3/0 fd 13/13 cfd -1) #8 x11 (t4 r10 i0/0 o0/0 fd 14/14 cfd -1) debug3: channel 7: close_fds r 13 w 13 e -1 c -1 debug2: channel 8: rcvd adjust 32800 debug2: channel 3: window 65344 sent adjust 65728 debug2: channel 8: rcvd adjust 32780 debug2: channel 8: rcvd eof debug2: channel 8: output open -> drain debug2: channel 8: obuf empty debug2: channel 8: close_write debug2: channel 8: output drain -> closed debug1: channel 8: FORCE input drain debug2: channel 8: ibuf empty debug2: channel 8: send eof debug2: channel 8: input drain -> closed debug2: channel 8: send close debug3: channel 8: will not send data after close debug2: channel 8: rcvd close debug3: channel 8: will not send data after close debug2: channel 8: is dead debug2: channel 8: garbage collecting debug1: channel 8: free: x11, nchannels 8 debug3: channel 8: status: The following connections are open: #0 client-session (t4 r0 i0/0 o0/0 fd 4/5 cfd -1) #1 x11 (t4 r3 i0/0 o0/0 fd 7/7 cfd -1) #2 x11 (t4 r4 i0/0 o0/0 fd 8/8 cfd -1) #3 x11 (t4 r5 i0/0 o0/0 fd 9/9 cfd -1) #4 x11 (t4 r6 i0/0 o0/0 fd 10/10 cfd -1) #5 x11 (t4 r7 i0/0 o0/0 fd 11/11 cfd -1) #6 x11 (t4 r8 i0/0 o0/0 fd 12/12 cfd -1) #8 x11 (t4 r10 i3/0 o3/0 fd 14/14 cfd -1) debug3: channel 8: close_fds r 14 w 14 e -1 c -1 debug1: client_input_channel_open: ctype x11 rchan 9 win 65536 max 16384 debug1: client_request_x11: request from 127.0.0.1 39714 debug2: fd 13 setting O_NONBLOCK debug3: fd 13 is O_NONBLOCK debug1: channel 7: new [x11] debug1: confirm x11 debug2: channel 7: rcvd adjust 32800 debug2: channel 7: rcvd adjust 32780 debug2: channel 7: rcvd eof debug2: channel 7: output open -> drain debug2: channel 7: obuf empty debug2: channel 7: close_write debug2: channel 7: output drain -> closed debug1: channel 7: FORCE input drain debug2: channel 7: ibuf empty debug2: channel 7: send eof debug2: channel 7: input drain -> closed debug2: channel 7: send close debug3: channel 7: will not send data after close debug2: channel 7: rcvd close debug3: channel 7: will not send data after close debug2: channel 7: is dead debug2: channel 7: garbage collecting debug1: channel 7: free: x11, nchannels 8 debug3: channel 7: status: The following connections are open: #0 client-session (t4 r0 i0/0 o0/0 fd 4/5 cfd -1) #1 x11 (t4 r3 i0/0 o0/0 fd 7/7 cfd -1) #2 x11 (t4 r4 i0/0 o0/0 fd 8/8 cfd -1) #3 x11 (t4 r5 i0/0 o0/0 fd 9/9 cfd -1) #4 x11 (t4 r6 i0/0 o0/0 fd 10/10 cfd -1) #5 x11 (t4 r7 i0/0 o0/0 fd 11/11 cfd -1) #6 x11 (t4 r8 i0/0 o0/0 fd 12/12 cfd -1) #7 x11 (t4 r9 i3/0 o3/0 fd 13/13 cfd -1) debug3: channel 7: close_fds r 13 w 13 e -1 c -1 debug2: channel 3: rcvd adjust 32896 debug2: channel 3: window 65272 sent adjust 65800 debug2: channel 3: window 65392 sent adjust 65680 debug2: channel 3: rcvd adjust 32792 debug2: channel 3: window 65332 sent adjust 65740 -------------------------- Gruß, Achim