Ausführen von Befehlen auf Putty, ohne befürchten zu müssen, die Verbindung zu verlieren

13

Wie setzen Sie den Befehl "screen" effektiv ein?
Ist es:

  1. Geben Sie "screen" ein

  2. Geben Sie den Befehl ein

  3. Verbindung verlieren

  4. Überprüfen Sie die verlorene Sitzung erneut

Wie führe ich Schritt 4 aus?

Quacksalber
quelle

Antworten:

18

Mit Bildschirm:

  1. screen
  2. Art command
  3. Ctrl- A- Dvom Bildschirm zu lösen
  4. Abmelden von der Sitzung
  5. screen -RD Um erneut eine Verbindung zum Bildschirm herzustellen (wenn es mehr als eine gibt, erhalten Sie eine Liste der aktuellen Bildschirmsitzungen und müssen die Sitzungsnummer angeben) aus einer neuen Sitzung

Eine einfachere Methode, die für Befehle nützlich ist, die Protokolldateien verlassen oder nur relevante Ausgaben ausgeben und keine Interaktivität benötigen, ist nohup:

  1. nohup command > logfile &
  2. Abmelden von der Sitzung
  3. tail -f logfile von einer neuen Sitzung
Vinko Vrsalovic
quelle
Hinweis: Schritt 3 ist völlig optional. Wenn Sie Ihre PuTTY-Sitzung schließen, ohne die Verbindung zu trennen, können Sie dennoch eine erneute Verbindung herstellen screen -RD.
Duncan Jones
4

Der Bildschirm ist sehr leistungsfähig und ermöglicht es Ihnen, genau das zu tun, was Sie gefragt haben.

Geben Sie Folgendes ein, um alle Ihre Sitzungen anzuzeigen

screen -list

Versuchen Sie es, sobald Sie eine Bildschirmsitzung identifiziert haben, die ebenfalls wiederhergestellt werden soll

screen -dr SCREENID

Dadurch wird Ihre Sitzung schön getrennt und wieder angehängt.

Sie können auch eine weniger schöne tun,

screen -D -R

Wenn dies erforderlich ist, wird es remote entfernt und abgemeldet, wenn dies erforderlich ist, dann erneut verbunden oder wenn diese Sitzung nicht vorhanden ist, wird sie erstellt und der Benutzer benachrichtigt. Sie können einen "-t NAME" hinzufügen, um Shells oder Programmen einen Titel zu geben.

Verwenden Sie innerhalb des Bildschirms

command-c

Erstellen eines neuen Fensters (Sie benötigen also keine 4000000-Bildschirmsitzungen zum Trennen und erneuten Verbinden) und Wechseln zwischen diesen Fenstern mit

command-int

Indizierung von 0 natürlich: P.

Da Sie mit dem Bildschirm etwas nicht vertraut zu sein scheinen, gehe ich davon aus, dass Sie andere Informationen verwenden könnten. Ich mag die folgenden Befehle, wie:

-e xy

Dies bewirkt, dass x das Befehlszeichen und y das Zeichen zum Generieren eines Literalbefehlszeichens ist. Die Standardeinstellungen sind Strg-a und `a.

Hier gibt es noch mehr für dich: Bildschirm! Es ist was für Programmierer


quelle
2

screen -dr um die vorherige Bildschirmsitzung zu trennen und fortzusetzen.

sepp2k
quelle
2

Folgendes habe ich über die Verwendung des Bildschirms gelernt (was auch ich gerade angefangen habe):

  • screen -S <name>Erstellt einen Bildschirm mit dem Namen '<Name>'. Dies ist sehr nützlich, wenn mehrere Bildschirmsitzungen gleichzeitig ausgeführt werden sollen. Zum Beispiel habe ich eine, die ich normalerweise verwende, und eine, die ich für meine persistenten Prozesse verwende.
  • screen -ls listet die laufenden Bildschirme auf.
  • screen -r <name>setzt einen abgetrennten Bildschirm fort. Wenn der Bildschirm bereits irgendwo angebracht ist, verwenden Sie screen -dr <name>.

Wenn Sie den Bildschirm verwenden, drücken Sie bei jedem Verlassen des Bildschirms ^a d(= Strg-a gefolgt von einem d ), um den Bildschirm zu entfernen , den Sie gerade ausführen . Es kann dann später wieder aufgenommen werden.

Außerdem kann ich empfehlen, eine ^a ?Liste der verschiedenen Befehle zu lesen, die Sie innerhalb eines Bildschirms verwenden können.

Die wichtigsten davon (für mich) sind:

  • ^a c um ein neues Fenster in Ihrer Bildschirmsitzung zu erstellen.
  • ^a ^a um zwischen den beiden zuletzt verwendeten Fenstern zu wechseln.
  • ^a " um die aktuellen Fenster in Ihrer Sitzung aufzulisten.
  • ^a Esc um in Ihrem Bildschirmpuffer zu scrollen.
  • ^a k um das aktuelle Fenster zu töten.
  • ^a x um Ihre Bildschirmsitzung zu sperren, falls Sie Ihren Computer verlassen müssen und nicht möchten, dass sich Leute damit anlegen.
Sebastian Paaske Tørholm
quelle
1

Eine schnelle Google-Suche hat diese Bildschirmanleitung gefunden

http://www.rackaid.com/resources/linux-tutorials/general-tutorials/using-screen/

Ab Schritt b) können Sie den Bildschirm abnehmen, indem Sie:

Strg - A d

und später, nachdem die Verbindung unterbrochen wurde und Sie erneut verbunden sind, finden Sie den Bildschirm erneut mit:

# screen -ls

und dann wieder anbringen mit:

# screen -r <screen_session_name>

Lyarwood
quelle
1

Sie können Ihre Umgebung auch so einrichten, dass Sie sich sofort anmelden und den Bildschirm starten. Es gibt viele Möglichkeiten, dies zu tun. Ich habe mich entschieden, dies meiner .bashrc-Datei hinzuzufügen.

# screen management
if [ $SSH_TTY ] && [ ! $WINDOW ]; then
  SCREENLIST=`screen -ls | grep 'Attached'`
  if [ $? -eq "0" ]; then
    echo -e "Screen is already running and attached:\n ${SCREENLIST}"
  else
    screen -U -R
  fi
fi
Palehorse
quelle
0

Sie würden suchen

screen -x
Matthew Scharley
quelle
0

Schritt 4 ist "Bildschirm -r"

Wenn Sie die Verbindung wirklich gewaltsam getrennt haben, müssen Sie möglicherweise "screen -r -d" ausführen, um die Trennung von Ihrer alten SSH-Sitzung zu erzwingen, die ihrer Meinung nach noch offen ist.

Hugh Perkins
quelle
0
 For windows system

 Open putty 
 then login in server

Wenn Sie den Bildschirm in der Konsole sehen möchten, müssen Sie einen Befehl schreiben

 Screen -ls

Wenn Sie auf den Bildschirm zugreifen müssen, müssen Sie den folgenden Befehl verwenden

 screen -x screen id
Ankit Jain
quelle