Dies mag sich nach einem Widerspruch anhören, aber ich musste kürzlich für einige Zeit (Tage!) Den Einzelbenutzermodus (auch als Wartungsmodus bezeichnet) verwenden, um ein defektes RAID-Array wiederherzustellen.
Dabei wollte ich eine zweite Shell verwenden, um beispielsweise die Einstellungen in verschiedenen Konfigurationsdateien zu überprüfen / zu bearbeiten oder die Systemprotokolle zu überprüfen, während die Hauptkonsole (und nur die Konsole) mit einem Wiederherstellungsvorgang beschäftigt ist.
Was wäre der empfohlene Befehl, um eine zweite Shell auf einem anderen tty zu starten?
screen
Natürlich könnte eine Methode in tty1 verwendet werden, aber dies hat nicht ganz die Leichtigkeit, einfach die Sitzungen mit Alt-F1, Alt-F2 usw. zu wechseln.
screen
ist genauso einfach. Ctrl AP scheint nicht viel schwieriger als Alt F1 ...screen
undtmux
für das TUI Fenstermanagement nicht immer den Trick machen. Manchmal benötigen Sie ein tatsächlichesttyX
Gerät anstatt einespts
.Antworten:
Es gibt einen Befehl speziell für diese Situation entwickelt:
openvt
. Führen Sie einfachopenvt
von Ihrem Shell auf tty1 und Sie erhalten eine Shell läuft auf dem ersten tty finden , die nicht schon etwas darauf hatte Es gibt mehrere Optionen , die Sie nützlich finden könnten (tty2 wahrscheinlich.); Siehe die openvt-Manpage.Da dies kein von getty verwaltetes Login ist, wird beim Verlassen der neuen Shell keine Anmeldeaufforderung angezeigt. Das tty geht einfach kaputt, da keine Prozesse darauf ausgeführt werden, aber Sie können immer noch hin- und herschalten (Alt-F1 Alt-F2) und sehen, was sich beim Verlassen der Shell auf dem Bildschirm befand. Mit diesem
deallocvt
Befehl werden alle in diesem zombieähnlichen Zustand befindlichen Objekte gelöscht und der ursprüngliche Zustand "Alt-F2 macht nichts" wird wiederhergestellt.Ursprünglich hießen diese Befehle
open
unddisalloc
, aber irgendwann entschied sich jemand, sie zu ändern, weil sie zu allgemein und nicht zugeteilt waren. Dies wurde als "kein Wort" beurteilt.Früher war es üblich, Tastaturtreiber und Init so zu konfigurieren, dass Alt + Up ausgeführt wurde
open
, sodass es als Tastenkürzel fungierte, um eine Shell auf einer neuen Konsole zu erstellen . Möglicherweise finden Sie noch einen auskommentierten Rest dieser alten Konfiguration in Ihrer/etc/inittab
. (Wenn Sie kein schickes neues Init verwenden, das kein hatinittab
.)Es gibt eine ähnliche Frage hier
quelle
openvt
. +1.openvt
sich als sehr nützlich erwiesen. Vielen Dank, dass Sie mir einen neuen Befehl mitgeteilt haben.Sie könnten einen anderen
getty
für jede Zeit erzeugen, die Sie möchten.getty
Booten Sie im Einzelbenutzermodus und starten Sie dann a auf tty2:Sie können jetzt Alt+ F2auf das neue tty über. Wiederholen Sie dies nach Bedarf für weitere Schritte. Sie könnten wahrscheinlich etwas Besseres tun und einfach so konfigurieren
/etc/inittab
, dass dies im Einzelbenutzermodus automatisch erledigt wird.quelle
init
, wird sie nicht erneut erzeugt, wenn sie stirbt./etc/inittab
und/etc/rc1.d/S??single
allerwenigsten an.Sie können wahrscheinlich auf eine zusätzliche Shell-Instanz verzichten, indem Sie sie
JOB CONTROL
in Ihrer aktuellen Shell verwenden. Es ist in der Manpage von dokumentiertbash(1)
.Sie können eine Aufgabe einfach mit der Sequenz Ctrl+ Zanhalten. Sie können sie jedoch auch auf andere Weise in Ihrem Terminal konfigurieren. Überprüfen Sie die Ausgabe von
stty -a
:Sie können Ihre Jobs überprüfen, indem Sie Folgendes eingeben
jobs
:Bringen Sie einen von ihnen in den Vordergrund:
Oder setzen Sie es im Hintergrund fort:
Diese Methode bietet nicht viele der Vorteile von
screen
odertmux
, kann jedoch in bestimmten Situationen gleichermaßen nützlich sein.quelle
ddrescue
ich laufe, möchte ich es nicht weiter unterbrechen und fortsetzen, obwohl es dafür eingerichtet ist.csh
,tcsh
oderzsh
, zum Beispiel), so dass ihr manpage zu erwähnen in diesem Fall ungenau wäre. Zum anderen beantwortet dies die gestellte Frage nicht.Erwägen Sie die Verwendung von Terminal-Multiplexern wie tmux oder screen.
Weitere Informationen zu tmux finden Sie hier: https://github.com/tmux/tmux/wiki
quelle
screen
und empfunden, dass andere Multiplexer noch übertriebener waren. Alles was ich brauche ist eine einfache zweite Konsole.screen
in Ihrer Frage übersehen . Es war spät.