Nochmal: Wie Fenster Programm per SSH auf Rechner starten?
Hallo Liste! Vielen Dank für die Hilfestellungen gestern! Ich muß doch noch mal zum Thema nachhaken und fürchte, daß die Mails von gestern bereits 100te von Zeilen aus dem Sichtkreis rausgerutscht sind. Daher hier die Mail noch mal ... Ich weiß, ich bin ungeduldig ;-) Ich bitte, diese Schwäche zu verzeihen! :-)
Wie kann ich per ssh ein Programm (z.B. xmms) auf einem Rechner starten, so daß sich das Fenster auch dort öffnet? Also quasi so, wie wenn ich direkt vor Ort sitzen würde und im KDE in einer Shell das Kommando eingebe. Hat da jemand ne Idee zu?
--> Nochmal kurz das Ziel anders formuliert: <-- Im Prinzip möchte ich auf dem remote Rechner ein Programm starten, wie zum Beispiel den Apache: - per SSH einloggen - /etc/init.d/apache start - exit Damit läuft das Programm und tut seinen Job. Egal, ob ich per ssh eingeloggt bleibe oder mich wieder auslogge. Das ist ja im großen und ganzen für alle Programme ersteinmal möglich. Problem: mein Programm (in diesem Fall vmware - aber das sollte eigentlich völlig unabhängig sein) braucht allerdings ein X-Window! Das sollte halt genauso wie der Apache vor Ort auf dem Rechner laufe, auf dem es gestartet wurde und weiterlaufen, wenn ich die SSH Verbindung beende. Eine Frage, die in diesem Zusammenhang auftritt: Wie kann man ein X-Window Programm starten, wenn (zB. nach einem Boot) erstmal niemand am X-Manager angemeldet ist? Ein Bonus wäre, wenn es eine Möglichkeit gibt, sich das X-Window zwischenzeitlich mal kurz zu "klauen" und vom remote Rechner auf den lokalen Desktop zu biegen (oder kopieren). So daß man bei Bedarf was einstellen kann und wenn man fertig ist, das X-Window von dem Programm wieder zurück/freigibt. Aber das erscheint mir etwas tricky - aber wer weiß?! ... bei Linux ist so einiges möglich! :-)) Ich fasse mal zusammen, was ich in den letzten Stunden so ausprobiert, nachgelesen und für Erkenntisse gesammelt habe: *Einloggen per ssh -X * Das ist ganz cool, um einen Prozess auf einem RemoteRechner zu starten und die (X-Window) Ausgabe dieses Programms auf den Rechner vor der eigenen Nase umzuleiten. Ist wohl quasi eine Terminalsitzung. Nachteile: a) Wenn ich auf diese Art ein Programm starte und der lokalen Rechner vor der Nase plötzlich crashed, dann läuft der remote Prozess weiter. Nach einem Neustart des lokalen Rechners hab ich Schwierigkeiten die X-Ausgabe wieder zu bekommen ohne den Prozess zu killen und neuzustarten. (Vielleicht gibt es ja eine Lösung, aber ich kann sie mir gerade nicht wirklich vorstellen) b) Der remote Rechner bootet und startet den Grafik-Login. Ich bin nicht vorort. Um eine X-Window Applikation zu starten muß aber wohl jemand an der Konsole eingeloggt sein. *DISPLAY umbiegen* Mittels DISPLAY, Export, xhost und den IPadressen der beiden Rechner kann ich einen ähnlichen Effekt wie mit ssh -X erzeugen. Ich habs auch kurz hinbekommen, aber das war ein wildes Tüfteln von Kommandos und ich weiß jetzt nicht wirklich mehr, welche Reihenfolge warum wie funktioniert :-/ *DCOP* Scheint ein ziemlich cooles Tool für K-Applikationen zu sein :-) Aber es scheint auf den ersten Blick nicht ganz trivial, wenn es um Nicht-K-Apps geht. (Erster Eindruck nach 30 Minuten ExpressRecherche! Korrigiert mich, wenn ich voll daneben liege!! ;-) ) Soweit erstmal meine Eindrücke. Wenn euch noch zu dem einen oder anderen was einfällt, wäre ich sehr happy :-) Viele Grüße in den Abend :-) Tol
Hallo, Anatol Schirmer schrieb:
Wie kann ich per ssh ein Programm (z.B. xmms) auf einem Rechner starten, so daß sich das Fenster auch dort öffnet? Also quasi so, wie wenn ich direkt vor Ort sitzen würde und im KDE in einer Shell das Kommando eingebe. Hat da jemand ne Idee zu?
--> Nochmal kurz das Ziel anders formuliert: <--
Im Prinzip möchte ich auf dem remote Rechner ein Programm starten, wie zum Beispiel den Apache: - per SSH einloggen - /etc/init.d/apache start - exit Damit läuft das Programm und tut seinen Job. Egal, ob ich per ssh eingeloggt bleibe oder mich wieder auslogge. Das ist ja im großen und ganzen für alle Programme ersteinmal möglich.
Problem: mein Programm (in diesem Fall vmware - aber das sollte eigentlich völlig unabhängig sein) braucht allerdings ein X-Window! Das sollte halt genauso wie der Apache vor Ort auf dem Rechner laufe, auf dem es gestartet wurde und weiterlaufen, wenn ich die SSH Verbindung beende. Eine Frage, die in diesem Zusammenhang auftritt: Wie kann man ein X-Window Programm starten, wenn (zB. nach einem Boot) erstmal niemand am X-Manager angemeldet ist?
Mir fällt für sowas nicht wirklich eine Möglichkeit ein. Wenn schon jemand einen X-Server hat, kann dieser mit "xhost +rechnername" seinen X-Server für den Zugriff von anderen freigeben. Und beim Aufruf der meisten X-Clients, also X-Programme, kannst Du ihnen ihr Ziel-Display mitgeben, das auch der X-Server auf einem entferneten Rechner sein kann, z.B. vmware -display rechner:0.0 Aber das Freischalten mit "xhost" kenne ich nur als angemeldeter Benutzer beim eigenen X-Server. Vielleicht hilft Dir das schon irgendwie weiter ... Gruß, Anke -- Think before you ...
Am Dienstag, 23. März 2004 16:47 schrieb Anatol Schirmer:
Hallo Liste!
[...]
--> Nochmal kurz das Ziel anders formuliert: <--
Im Prinzip möchte ich auf dem remote Rechner ein Programm starten, wie zum Beispiel den Apache: - per SSH einloggen - /etc/init.d/apache start - exit Damit läuft das Programm und tut seinen Job. Egal, ob ich per ssh eingeloggt bleibe oder mich wieder auslogge. Das ist ja im großen und ganzen für alle Programme ersteinmal möglich.
Problem: mein Programm (in diesem Fall vmware - aber das sollte eigentlich völlig unabhängig sein) braucht allerdings ein X-Window! Das sollte halt genauso wie der Apache vor Ort auf dem Rechner laufe, auf dem es gestartet wurde und weiterlaufen, wenn ich die SSH Verbindung beende.
Hallo, ich würde in der Richtung forschen, entweder einen default-User vom System automatisch einloggen zu lassen, der per xhost (unsicher), oder falls in Verbindung mit ssh gestartet wird, per ssh-authentifizierung den Zugriff auf das Display erlaubt; oder xdm gar nicht zu benutzen und einen X-Server auf dem fernen Rechner direkt zu starten, Stichwort startx. xhost-Benutzung: Erst am Zieldisplay "xhost +ip" oder statt ip Rechnername, falls in /etc/hosts eingetragen oder über named bekannt; dann in der Umgebung, in der das Programm ausgeführt wird, "export DISPLAY=ip:0", auch hier statt ip Rechnername, s.o. xhost-Benutzung hat den Nachteil, dass die Kommunikation unverschlüsselt ist und dass nicht geprüft wird, ob der Kommunikationspartner wirklich der ist, für den er sich ausgibt (ip-Fälschungen). Wenn es denn läuft, sollte VNC eine gute Idee für den Bildschirmzugriff sein. Kenne ich allerdings nur vom Lesen. HTH, Wolfgang
Hi, * Anatol Schirmer wrote (2004-03-23 16:47):
Problem: mein Programm (in diesem Fall vmware - aber das sollte eigentlich völlig unabhängig sein) braucht allerdings ein X-Window! Das sollte halt genauso wie der Apache vor Ort auf dem Rechner laufe, auf dem es gestartet wurde und weiterlaufen, wenn ich die SSH Verbindung beende.
Das geht problemlos, entweder mit 'disown' von der Zsh oder mit screen.
Eine Frage, die in diesem Zusammenhang auftritt: Wie kann man ein X-Window Programm starten, wenn (zB. nach einem Boot) erstmal niemand am X-Manager angemeldet ist?
Das geht vermutlich nicht. Du brauchst schon einen X-Server, wenn Du Dich an einem X-Server anmelden willst. Nun läuft der Login zwar unter X11, aber ich habe noch nie gehört, daß man in dieser Umgebung Programme ausführen kann. Hast Du mal versucht, X11 einfach zu starten? Also: Booten ohne XDM, remote einloggen, startx. Thorsten -- As we enjoy great advantages from the inventions of others we should be glad of an opportunity to serve others by any invention of ours, and this we should do freely and generously. - Benjamin Franklin
Ein Bonus wäre, wenn es eine Möglichkeit gibt, sich das X-Window zwischenzeitlich mal kurz zu "klauen" und vom remote Rechner auf den lokalen Desktop zu biegen (oder kopieren). So daß man bei Bedarf was einstellen kann und wenn man fertig ist, das X-Window von dem Programm wieder zurück/freigibt. Das Programm das du suchst ist x0rfbserver. Ist im Paket rfb (rfb=remote
Hi On Tuesday 23 March 2004 16:47, Anatol Schirmer wrote: frame buffer). Das gibt den aktuell laufenden Xserver per vnc-Protokoll frei.
Aber das erscheint mir etwas tricky - aber wer weiß?! ... bei Linux ist so einiges möglich! :-)) Das ist richtig.
Seit mein Gegenüber und ich hier im Büro rfb installiert haben muss endlich keiner mehr um den Schreibtisch herumlaufen, wenn der ein dem anderen was am Monitor zeigen will :-). Enorm praktisch, auch wenn andere Kollegen manchmal verständnislos den Kopf schütteln.
Soweit erstmal meine Eindrücke. Wenn euch noch zu dem einen oder anderen was einfällt, wäre ich sehr happy :-)
Ist nur ein Vorschlag. Ich stelle mir sowas vor, wie ein rc-Skript, das nach KDM oder XDM den rfb-server startet. Man sollte bei sowas aber etwas den Sicherheitsaspekt im Auge behalten. Bei Rechnern mit Verbindung zum Internet dringend die entsprechenden Ports sperren. Wenn man sowas übers Internet machen will, sollte man das über ssh tunneln. mfg Axel
participants (6)
-
Anatol Schirmer
-
Anke Boernig
-
Axel Heinrici
-
Peter Wiersig
-
Thorsten Haude
-
Wolfgang Hinsch