Nur um zu erweitern, was Ansgar gesagt hat, falls Sie nicht sehr vertraut mit Gnu-Bildschirm sind, werden Sie wahrscheinlich mit mehreren "Fenstern" in einer einzigen Bildschirmsitzung das erreichen, was Sie brauchen.
ctrl+ a, cWird ein neues „Fenster“ in der aktiven Bildschirmsitzung erstellen. Sie können zwischen mehreren Fenstern wechseln (wie Ansgar angegeben) mit ctrl+ a, nfür das nächste Fenster und ctrl+ a, pfür das vorherige Fenster.
ctrl+ a, "Wird Ihnen eine Liste aller geöffneten Fenster.
Mithilfe dieser einfachen Verknüpfungen können Sie sehr schnell und einfach zwischen verschiedenen Terminals wechseln und Ihr Ziel erreichen, ohne mehrere Bildschirmsitzungen zu verwenden.
Wenn Sie ~ / .screenrc die folgende Zeile hinzufügen, werden immer die geöffneten und ausgewählten Fenster angezeigt, sodass Sie nicht mehr nachverfolgen müssen, in welchem Fenster Sie sich befinden.
hardstatus alwayslastline '%{= kg}[ %{G}%H %{g}][%= %{= kB}%?%-Lw%?%{+b r}(%{G}%n*%f %t%?(%u)%?%{r})%{-b B}%?%+Lw%?%?%= %{g}%]'
Dies ist die Hardstatus-Zeile, die ich gerne benutze, die aber vollständig anpassbar ist (siehe Manpage oder Google nach "gnu screen hardstatus" suchen).
Es gibt eine Menge anderer Dinge, die Sie damit tun können (zum Beispiel die verschiedenen geöffneten Fenster). Es lohnt sich also, einige Tutorials zu lesen.
Hier sind ein paar, die ich mit einer schnellen Suche gefunden habe:
http://news.softpedia.com/news/GNU-Screen-Tutorial-44274.shtml
http://www.ibm.com/developerworks/aix/library/au-gnu_screen/
Und natürlich das nützlichste von allen:
# From your terminal:
$ man screen
Ich hoffe, das hilft.
Matthew
^a
zu etwas anderem, damit es nicht lächerlich nervt, in bash die Zeilenbearbeitung im Emacs-Stil zu verwenden, und so weiter. Ich benutze^t
.Was die anderen sagen, ist richtig. Ich möchte nur erwähnen,
tmux
ist eine Alternative zuscreen
. Sie haben sehr ähnliche Befehle.Beide
screen
undtmux
bieten mehrere Fenster für eine laufende Sitzung, und dies ist wahrscheinlich das, was Sie wollen.tmux
bietet zusätzlich das Springen zwischen mehreren Sessions an (jede mit eigenen Fenstern). Das braucht man sehr selten.Hier sind einige Links zur Dokumentation des Bildschirms und ein Crash-Kurs über tmux .
quelle
Nach so viel Zeit habe ich ein Skript erstellt, um dieses völlig fehlende Feature zu umgehen. Zuallererst braucht es ein Fifo:
Diese Named Pipe ist nützlich für die Kommunikation zwischen der getrennten Sitzung und der Sitzung "Main-without-screen".
Datei sc (in $ PATH):
Ein Beispiel für ein "CONFIGFILE" ist: ~ / .screen / Monitorrc
Das Ergebnis ist: Wenn Sie den Bildschirmtyp starten möchten:
oder eine andere SessionRC, die Sie gerne erfinden, ich benutze die Session Work für verschiedene Dinge
Bsp .: ~ / .screen / Workrc
Jetzt befinden wir uns im Sitzungsmonitor, wenn wir Folgendes eingeben:
Der Session Monitor trennt sich und schreibt "Work" in die namedpipe. Folglich geht das erste sc-Skript weiter und hängt die Sitzung "Work" an.
Der vom Sitzungsmonitor aufgerufene sc wird geschlossen.
Wenn wir alle Sitzungen trennen, befinden wir uns in einer Endlosschleife, sodass wir Strg-C ausführen müssen, um zu beenden.
quelle
Sie können dies mit einem einfachen Shell-Skript wie z
Nehmen wir an, Sie haben nur wenige Bildschirme geöffnet. Nehmen wir auch an, Sie haben sie als Arbeit und Daten kategorisiert.
Wenn
screen -ls
Sie sich bewerben , sollten Ihre Bildschirme so aussehenJetzt können Sie die getrennten Bildschirme mit isolieren
grep
.Sie sollten so etwas bekommen
Nun können Sie die gewünschten Elemente (z. B. Daten) erneut mit auswählen
grep
.Dadurch werden nur die Datenbildschirme isoliert. Sie können das Schlüsselwort grep mit regulären Ausdrücken für die Suche ändern, um Ihre Suche anzupassen.
Zum Glück ist das Ergebnis gut strukturiert und tabulatorgetrennt. Teilen Sie nun die Spalten in Felder auf und wählen Sie mit das 2. Feld aus
cut
.Sie müssen
ctrl+v
dann die Tabulatortaste drücken , um eintab
nach dem Begrenzer-Parameter einzufügen-d
. Die Ergebnisse sollten so sein.Packen Sie dies nun mit den
...
Anführungszeichen in einen Befehl und durchlaufen Sie die Ergebnisse wie folgt. Überprüfen Sie die formulierten Befehle immer zuerst, bevor Sie sie ausführen. ich benutzteecho screen -r
Wenn alles gut geht, versuchen Sie es ohne
echo
.Voila. Jeder Bildschirm, von dem Sie sich lösen, führt Sie zum nächsten.
Fröhliches Screening !!
quelle
Ich habe ein Knotenskript geschrieben, mit dem der Benutzer mithilfe der Pfeiltasten eine Bildschirmsitzung aus einer Liste auswählen kann, an die eine Verbindung hergestellt werden soll. Ich habe es zu einem npm-Paket gemacht. Du kannst es dir hier ansehen : screen-command . Oder nur
npm i -g screen-command
zum Ausprobieren, vorausgesetzt, Sie haben node.js bereits installiert. Verwenden Siesc
nach der Installation des Pakets den Befehl , um die Liste der Bildschirme aufzurufen.Ich hoffe, dies erleichtert das Umschalten auf den gewünschten Bildschirm.
quelle