SSH-Tunnel und VNC

1353
Luis

Ich verwende Porteus 3.2.2, um über einen SSH-Tunnel eine Verbindung zu einem VNC-Server im Internet herzustellen, und ich versuche, ihn so weit wie möglich zu automatisieren.

Ich habe dieses Skript, das den Tunnel erstellt und offen hält, aber ich möchte ihn ein wenig anpassen.


#!/bin/bash  #create SSH tunnel ssh -L 5901:192.168.1.200:5901 -t user@xxx.xxx.xxx.xxx 'vncserver -geometry 1280x800; /bin/bash'  #open vncviewer vncviewer -fullscreen localhost:5901  exit 0 

  • Ich möchte, dass das Terminalfenster nach dem Einloggen auf dem Server minimiert wird.

  • Auch nach erfolgreichem Login möchte ich vncviewer ohne Terminalfenster und mit den oben genannten Optionen öffnen.

Die Art, wie ich das Skript habe, funktioniert nicht, weil es erst gestartet wird, nachdem der SSH-Tunnel geschlossen wurde. Und ich kann '&' nicht verwenden, um den SSH-Tunnel in den Hintergrund zu senden. Wenn ich vncviewer vor den SSH-Tunnel stecke und ihn in den Hintergrund schicke, kann ich die Optionen nicht verwenden ...

Hilfe hier?

Danke im Voraus

1
Warum kannst du nicht "&" verwenden? Ipor Sircer vor 6 Jahren 0
Weil SSH-Tunneling es nicht erlaubt ... Nur vncviewer, aber ich möchte vncviewer einfach starten, nachdem der SSH-Tunnel läuft ... Luis vor 6 Jahren 0
??? Hintergrund für jede Aufgabe zu machen, ist Aufgabe von bash, sodass jeder Befehl in den Hintergrund gestellt werden kann. Was bedeutet es "_SSH-Tunneling erlaubt es nicht _"? Sagt es "Erlaubnis verweigert" oder was? Ipor Sircer vor 6 Jahren 0
Es sagt nur, dass es keinen Hintergrund haben kann ... Ich weiß nicht, ob es ein Passwort verlangt ... Luis vor 6 Jahren 0

1 Antwort auf die Frage

1
telcoM

Wenn Sie die -fOption zur SSH-Befehlszeile hinzufügen, sollten Sie dem näher kommen, was Sie möchten: Der ssh-Client wechselt in den Hintergrund, aber erst, wenn die Verbindung hergestellt wurde und alle Kennwortanforderungen erfüllt wurden, sodass vncviewerder SSH einmal gestartet werden kann Verbindung wurde hergestellt.

Wenn das Starten des VNC-Servers auf dem Remote-System eine merkliche Zeit in Anspruch nimmt, möchten Sie möglicherweise sleep <some number of seconds>zwischen der sshBefehlszeile und der vncviewerBefehlszeile hinzufügen, damit der VNC-Server den Startvorgang abschließen kann, bevor vncviewerdie Verbindung zu ihm hergestellt wird.

Um das Terminalfenster zu minimieren, muss an den Fenstermanager Ihrer lokalen Desktopumgebung der Befehl "Dieses Fenster minimieren / symbolisieren" gesendet werden. Die Details werden von der Art der Desktop - Umgebung ab, die Sie verwenden, aber im Allgemeinen, die Befehle wmctrloder xdotoolkönnten es tun können.

Siehe auch: Wie kann ich das X11-Fenster in der Konsole ausblenden oder minimieren?

Danke für die Antwort. Ich werde das Flag -f versuchen, es klingt genau so, wie ich es brauche ... Luis vor 6 Jahren 0
Danke, Mann. Das hat den Trick gemacht! Verwendete das Flag -f und nach erfolgreichem ssh-Login setzt es sich in den Hintergrund und lässt den Tunnel offen, woraufhin es den vncviewer mit allen Optionen startet, die ich möchte. Was die Minimierung des Fensters angeht, denke ich, dass ich mich jetzt nicht damit beschäftigen werde ... Luis vor 6 Jahren 0