Gibt es eine Terminal-Abmeldung, die so etwas wie GNU Screen macht?

8

Wie die meisten von Ihnen wissen, ist GNU Screen ein nettes Tool, mit dem Sie Folgendes tun können:

Eine weitere gute Verwendung für das Trennen und erneute Anbringen ist die Funktion "Remotedesktop" im Konsolenmodus. Sie können sich von einer Bildschirmsitzung bei der Arbeit trennen, von zu Hause aus in den Computer einbinden und erneut anschließen. Sehr sehr praktisch. Mit ein wenig zusätzlicher Arbeit können Sie sogar eine Reihe von Terminals an dieselbe Sitzung anschließen - ideal für gemeinsame Anstrengungen und Besprechungen.

Jetzt bin ich neugierig, ob es eine Möglichkeit gibt, dies ohne Bildschirm zu tun. Aka statt logut tippe ich magiclogout und wenn ich mich das nächste Mal anmelde, bekomme ich meine alte Sitzung (wenn das Betriebssystem ofc nicht neu gestartet hat)

NoSenseEtAl
quelle

Antworten:

6

byobu basiert auf dem Bildschirm; Es hat eine Menüoption, um es zu Ihrer Standard-Shell zu machen.

Sie können entweder exitwie gewohnt oder mit einem normalen alt-A, DBildschirm trennen, und Ihre Sitzung wartet, wenn Sie sich erneut anmelden.

Darüber hinaus werden eine Reihe von Schlüsseln für die Terminalverwaltung, F2zum Erstellen eines neuen Terminals F3und F4zum Wechseln zwischen Fenstern sowie eine Statusleiste mit einer Reihe nützlicher Indikatoren wie ausstehenden Paketaktualisierungen hinzugefügt.

Es ist standardmäßig auf Ubuntu Server-Builds installiert und wird auf den meisten von mir verwalteten Servern schnell zu meinem Standardterminal.

Wie gesagt, byobu hängt jedoch davon ab, ob der Bildschirm funktioniert ... Mir ist keine andere Möglichkeit bekannt, eine Sitzung fortzusetzen, als dass ein Prozess auf dem Zielcomputer ausgeführt wird.

Bearbeiten: byobu wird auch tmux umbrechen (dies ist die Standardeinstellung bei neueren Versionen von Ubuntu). In den meisten Fällen müssen Sie nichts tun - es wird nur der Standard-Terminal-Multiplexer verwendet.

Adrian
quelle
2

Vielleicht möchten Sie einen Blick auf tmux werfen

user8868
quelle
1

Sie könnten so etwas mit einer Remotedesktopsoftware haben, die eine eigene Sitzung erstellt, wie z. B. FreeNX auf dem Server und NoMachine-Client auf dem Client.

Sie können dies auch verwenden, wenn Server und Client-Computer derselbe Computer sind, um zu simulieren, wonach Sie fragen.

Enzotib
quelle
1

Dies ist nicht möglich ohne Bildschirm, Byobu (wie von Adrian erwähnt) oder ähnliche Tools.

Eine interaktive Shell muss mit einem tty verbunden sein. Wenn Sie sich abmelden, verliert die Shell die Verbindung zum tty und wird beendet.

Bildschirm und Freunde vermeiden dies, indem sie eine oder mehrere persistente virtuelle ttys erstellen. Wenn Sie sich abmelden, bleibt die Shell mit dem virtuellen tty verbunden und bemerkt nicht, dass der Benutzer getrennt wurde.

Für nicht interaktive Programme ist kein tty erforderlich, und anstelle des Bildschirms können Sie auch tty verwenden nohup.

Wie Adrian betont, ist die Verwendung von byobu standardmäßig möglich, und wie Sie wissen, beginnen viele Hauptbenutzer screenerst nach dem Anmelden. Gibt es einen bestimmten Grund, den Sie vermeiden möchten?

Jan.
quelle
Ich halte den Bildschirm für unpraktisch, da ich an das Scrollen gewöhnt bin und der Kopiermodus mich etwas irritiert. Kleine Dinge, die ich weiß. :)
NoSenseEtAl
0

Sie können einen Befehl starten über nohup:

nohup command &

Wenn Sie die Ausgabe irgendwo speichern möchten, tun Sie dies

nohup command > output.txt &

Jetzt müssen Sie die laufende Software von trennen

  1. Drücken von CTRL-Z
  2. eingeben bg
  3. disown %1

Weitere Hinweise dazu nohupfinden Sie auf der Manpage ( http://ss64.com/osx/nohup.html ), die auch für disown( http://ss64.com/osx/disown.html ) gilt.

Sascha Biermanns
quelle