Yanno, das klingt sehr nach dem, was Byobu kann
Wie erstelle ich eine Hierarchie von Terminals oder Arbeitsbereichen?
Ich frage mich, ob es eine Möglichkeit gibt, in einer Bildschirmsitzung unter Linux eine Terminologie- / Baumstruktur von Terminals zu erstellen?
Es macht mir nichts aus, hier zu hacken. Wenn also ein Projekt draußen ist, das daran arbeitet, würde ich mich gerne einbringen.
Erläuterung:
Ich hätte gerne so etwas
1 bash 1.1 bash 1.2 bash 2 bash 3 bash 3.1 bash 3.1.1 bash 3.1.2 bash
Es wäre gut, wenn die Terminals gekennzeichnet werden könnten, anstatt über eine Anordnung navigiert zu werden, von der ich annehme, dass sie nicht existiert. Dann könnten Sie zB mit ^A:goto happydays
oder zu einem springen ^A:goto dykstra.angry
.
Jeder Browser bietet die Möglichkeit, flache Registerkarten mit identischen Dokumenten zu erstellen. GNU- screen
implementiert die gleiche Funktionalität, ohne Tabulatoren zu verwenden. Linux- und OS / X-Fenstermanager bieten die Möglichkeit, Fenster in einer Reihe von Arbeitsbereichen zu organisieren, was sich wiederum auf den gleichen Deal auswirkt.
Ich möchte in der Lage sein, Dinge nicht nur in einer Baumstruktur zu gruppieren, sondern auch Referenzen (aka symbolische Links, aka-Zeiger) von einem Teil der Struktur auf einen anderen zu erstellen sowie Eigenschaften (z. B. Standardverzeichnis, Farbschema) anzuwenden, ...) rekursiv abwärts von einem gegebenen Knoten.
3 Antworten auf die Frage
habe gerade diese Frage gefunden.
Sie können tun, was ich glaube, dass Sie direkt im Gnu-Bildschirm suchen. Fügen Sie in .screenrc Folgendes hinzu:
screen -t 1.1 0 # just a shell
screen -t 1.2 1 screen -m -e
^ xx-c $/.screenrc-1.2 #new session inside accessed by Ctrl-x
screen -t 1.3 2 screen -m -e '^xx' -c $/.screenrc-1.3 #yet another new session
Dann könnten ~ / .screenrc-1.2 und ~ / .screenrc-1.3 separate Setups für die Subsessions sein. Zum Beispiel könnte .screenrc-1.3 mehr Subsessions definieren. Sobald Sie sich in der gesamten Sitzung befinden, können Sie zwischen ihnen wechseln, und die inneren Sitzungen haben ihre eigenen Steuerungssequenzen (Strg-x). Sie können nach Name oder Nummer zu: navigieren select 1.2
.
Durch Verschachteln von Bildschirmsitzungen (wie von Archege vorgeschlagen) werden die gewünschten Ziele erreicht. Die Verwaltung der mehreren Ebenen der Verschachtelung (insbesondere beim Senden von Befehlen an die richtige Bildschirmsitzung) kann jedoch ein Problem sein. Neuere Versionen von screen (ich verwende 4.1.0) unterstützen Fenstergruppen, die die meisten Ihrer Aufgaben erfüllen können. Fenstergruppen scheinen nichts vergleichbar mit Hardlinking zu sein, und das Feature ist nur minimal integriert und dokumentiert (vermutlich weil es vergleichsweise neu und relativ unübersichtlich ist). Ein bemerkenswerter Vorteil von Fenstergruppen ist jedoch, dass sie über eine einzige Bildschirmsitzung arbeiten. Daher ist das Verwalten der verschachtelten Anordnung weniger lästig.
Der folgende Codeblock ist eine kommentierte Kopie / Einfügung der Abschnitte von .screenrc, die für Fenstergruppen relevant sind:
# first, make a root group that all of the other groups will go into # note that the "//group" is *NOT* a comment; without it, only a # standard window will be spawned screen -t root 0 //group # select the root window to make sure that the next created group will # end up there, and make another group nested inside of it select 0 screen -t shells 1 //group # rinse and repeat for more groups select 0 screen -t editors 2 //group select 0 screen -t SSH 3 //group select 0 screen -t scratch 4 //group select 0 screen -t scripts 5 //group # to add windows into first group, select it and then create windows # as normal select 1 screen 6 screen 7 # rinse and repeat as desired for the other groups select 2 screen 8 # and so on...
Verwandte Probleme
-
2
Wie wird das Escape-Zeichen auf dem OS X-Terminal gesendet?
-
1
Wie entsperren Sie eine gesperrte Alias-Datei in OS X?
-
4
Verwenden Sie öffentliche Terminals, um sich mit Ihren persönlichen Zugangsdaten anzumelden
-
2
Wie kann ich OSX Terminal.app dazu bringen, den Vollbildmodus zu öffnen und nicht zu kaskadieren?
-
3
Mac OS X: herkömmliche Orte, an denen Binärdateien gespeichert werden sollen
-
2
Mac OS X: einfaches Skript gesucht
-
3
Zwei Monitore einrichten
-
4
Transparentes Unicode X-Terminal, das nicht an eine Desktop-Umgebung gebunden ist?
-
1
Sitzung ohne Bildschirm mit vielen Registerkarten kann nicht geöffnet werden
-
3
OSX-Fenstergruppen