Zum Inhalt springen

Zellij: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Zeile 26: Zeile 26:
=== Navigation ===
=== Navigation ===
Wenn man eine neue Session startet, öffnet sich Zellij mit einem Tab in dem ein Pane (quasi ein „Fenster“) befindet. Solange sich nur ein Pane im Layout befindet, wird dies immer im „Vollbildmodus“ angezeigt.
Wenn man eine neue Session startet, öffnet sich Zellij mit einem Tab in dem ein Pane (quasi ein „Fenster“) befindet. Solange sich nur ein Pane im Layout befindet, wird dies immer im „Vollbildmodus“ angezeigt.
Zellij besitzt sehr viele Tastenkombinationen, einige dieser Kombinationen könnten eventuell von den laufenden Programmen verwendet werden. Da Tastenkombinationen von Zellij „abgefangen“ werden, wären diese in den Anwendungen nicht verfügbar. Mittels {{taste|Strg}}+{{taste|G}} lässt sich Zellij sperren, so dass keinerlei Tastenkombinationen (bis auf {{taste|Strg}}+{{taste|G}} zum entsperren) mehr akzeptiert werden.


==== Panes ====
==== Panes ====

Version vom 31. Januar 2025, 23:00 Uhr

„Zellij“ wurde von Dirk (Diskussion) als in Bearbeitung markiert. Um Bearbeitungskonflikte zu vermeiden, kontaktiere Dirk (Diskussion) bitte, bevor du den Artikel bearbeitest.


Dieser Artikel oder Artikelabschnitt ist noch nicht vollständig!


Zellij „in Action“: Es werden in einem Tab diverse Panes mit verschiedenen Programmen, sowie ein „schwebendes Fenster“ angezeigt.

Zellij ist ein „Terminal-Workspace“ und -Multiplexer der einen starken Fokus auf Funktionalität und einfache Bedienbarkeit bei gleichzeitiger Nicht-Notwendigkeit von Konfiguration legt, aber dennoch umfänglich konfigurierbar und durch Plugins erweiterbar ist.

Es können nicht nur mehrere Terminal-„Fenster“ parallel angeordnet werden, man kann sie auch einklappen oder sogar aus dem Raster loslösen. Die Verwaltung kann dabei zusätzlich noch in Tabs aufgeteilt werden. Selbstverständlich kann man mit Zellij auch beliebig viele Sessions erstellen und zwischen ihnen wechseln, sich von ihnen trennen, und später wieder mit ihnen verbinden.

Installation

Das Programm ist als zellij in extra verfügbar, und kann von dort mittels Pacman installiert werden.

pacman -S zellij

Beim ersten Starten werden automatisch Dinge im Usercontext nachgeladen und eingerichtet, die für die Verwendung von Zellij notwendig sind.

Konfiguration

Standardmäßig ist Zellij bereits sehr benutzerfreundlich und für die interaktive Verwendung durch eine Vielzahl an Tastenkombinationen vorkonfiguriert. Will man dennoch eigene Optionen setzen, so kann man dies mittels der KDL Document Language (siehe Weblinks) gemacht werden. Zellij bezieht die Konfiguration dabei in dieser Reihenfolge aus dem Angegebenen Verzeichnis:

  1. der Parameter --config-dir
  2. die Umgebungsvariable ZELLIJ_CONFIG_DIR
  3. Userbezogen aus $HOME/.config/zellij
  4. Systemweit aus /etc/zellij

Änderungen an den Dateien im Konfiguraitonsverzeichnis werden von Zellij automatisch erkannt und ohne neustart angewendet. Sofern in Neustart erforderlich ist, ist dies in der Beispielkonfigurationsdatei dokumentiert.

Will man Zellij ohne jegliche konfiguration starten, geht dies mittels zellij --clean.

Plugins

Verwendung mit Standardkonfiguration

Navigation

Wenn man eine neue Session startet, öffnet sich Zellij mit einem Tab in dem ein Pane (quasi ein „Fenster“) befindet. Solange sich nur ein Pane im Layout befindet, wird dies immer im „Vollbildmodus“ angezeigt.

Zellij besitzt sehr viele Tastenkombinationen, einige dieser Kombinationen könnten eventuell von den laufenden Programmen verwendet werden. Da Tastenkombinationen von Zellij „abgefangen“ werden, wären diese in den Anwendungen nicht verfügbar. Mittels Strg+G lässt sich Zellij sperren, so dass keinerlei Tastenkombinationen (bis auf Strg+G zum entsperren) mehr akzeptiert werden.

Panes

Mittels Strg+P, N (oder Alt+N) wird ein neues Pane erstellt.

Standardmäßig befindet Zellij sich im „Vertical“-Layout, und das neue Pane wird rechts vom ersten Pane geöffnet. Mittels Alt+[ und ] kann zwischen den Layouts durchgeschaltet werden. Alt+F schaltet den Floating-Layer (Layout: „Staggered“) um, auf dem die „schwebenden Fenster“ verwaltet werden.

Das aktive Pane kann, sofern unter einer grafischen Oberfläche in einem Terminalemulator mit Mausunterstützung laufend, durch anklicken ausgewählt werden. Mittels Alt+/// kann der Fokus innerhalb des Layouts per Tastenkombination geändert werden.

Im Pane-Modus (Strg+P) kann mit den Pfeiltasten ebenfalls der Fokus verändert werden, dort bestätigt man das neue Pane durch ↵ Enter Mittels E im Pane-Modus kann man das ausgewählte Pane aus dem Layout in den Floating-Layer oder aus diesem zurück verschieben. Um ein Pane innerhalb des Layouts zu verschieben, wechselt man in den Move-Modus (Strg+H) und kann dann die Pfeiltasten zum verschieben benutzen.

Die Panegröße kann man im Resize-Modus (Strg+N) verändern. Mittels /// oder H/J/K/L vergrößert man die jeweilige Seite des Panes, und mittels ⇧ Shift+H/J/K/L verkleinert man die jeweilige Seite, um das gewünschte Seitenverhältnis zu erlangen. Mittels + und vergrößert, bzw. verkleinert man das gesamte Pane im eingestellten Seitenverhältnis.

Tabs

Tabs starten immer im „Vertical“-Layout mit einem Pane mit der Shell. Das Layout und der Floating-Layer sind pro Tab unabhängig voneinander.

Tabs können im Tab-Modus verwaltet und angesprochen werden. Mittels Strg+T, N wird ein neues Tab erstellt. Mittels der Pfeiltasten wird im Tab-Modus zwischen existierenden Tabs gewechselt und mittels ↵ Enter ausgewählt. Tabs können im Tab-Modus über R umbenannt werden. X das aktuelle Tab. Alle geöffneten Panes des Tabs werden dabei ebenfalls geschlossen.

Einzelne Panes lassen sich aus einem Tab mittels Strg+T, B herauslösen. Dadurch wird ein eigenes Tab für das aktive Pane eröffnet und dieses Pane dann dort hin verschoben und direkt auch dort hin gewechselt. Mittels [ oder ] im Tab-Modus kann das Pane auf das vorherige/nächste existierende Tab verschoben werden.

Für Tabs kann mittels Strg+T, S der Sync-Modus umgeschaltet werden, in diesem Modus werden Eingaben unabhängig des aktiven Panes immer an alle Panes gesendet, damit lassen sich zum Beispiel auf mehrere per SSH verbunden Systemen parallel die gleichen Aktionen ausführen, um zum Beisiel ein manuelles backup auszulösen oder auf allen Geräten ein Update zu durchzuführen.


Sessions

Der Session-Manager zeigt einige aktive Sessions an.

Wenn Zellij gestartet wird, wird eine Session mit einem zufällig generierten Namen gestartet. Wenn man das letzte Pane in der Session schließt, oder Zellij mittels Strg+Q beendet, wird die Session wieder entfernt. Wenn man das Terminalfenster in dem Zellij läuft schließt, oder wenn man Zellij mittels Strg+O, D verlässt, bleibt die Session bestehen.

Sessions können über den integrierten Session-Manager (Strg+O, W) eingesehen und verwaltet werden. Man kann sich auch direkt aus anderen Sessions in bestehende Sessions einklinken. Wenn man mittels Tab ↹ im Session Manager zu „Resurrect“ wechselt, kann man zudem geschlossene Sessions „wiederbeleben“. Dabei werden alle Panes wieder hergestellt, Panes in denen Programme liefen, die nicht die Shell waren, müssen bestätigt werden. Mittels Esc kann man stattdessen auch zurück zur Shell gehen.

Mittels zellij attach kann man sich zu einer bestehenden Session verbinden. Wenn nur eine Session läuft, verbindet sich Zellij automatisch zu dieser. Wenn mehrere Sessions laufen, werden diese aufgelistet.

zellij attach
Please specify the session to attach to, either by using the full name or a unique prefix.
The following sessions are active:
outstanding-oboe [Created 4m 48s ago] (EXITED - attach to resurrect)
blossoming-goose [Created 6m 43s ago]
vitreous-cowbell [Created 7m 50s ago]
beautiful-penguin [Created 8m 24s ago]
[...]

Anhand dieser Liste muss man nun einen „eindeutigen Prefix“ ermitteln. Mittels diesem kann man sich dann zur Session verbinden. Will man sich zur Session vitreous-cowbell verbinden, reicht zellij attach v, für die Session beautiful-penguin würde nur b nicht ausreichen, weil nicht eindeutig, hier würde man dann zellij attach be benutzen. Selbstverständlich kann auch immer der ganze Name benutzt werden.

Mehrbenutzer-Bedienung

Drei Terminalfenster, in denen Zellij jeweils zur gleichen Session verbunden ist

Es besteht die Möglichkeit, sich aus mehreren Instanzen heraus mit derselben Session zu verbinden. Jede Instanz erhält von Zellij automatisch eine Farbe zugewiesen, über diese Farbe ist eine eindeutige Identifikation möglich.

Jede verbundene Zellij-Instanz kann unabhängig von anderen Instanzen den Fokus auf andere Panes und Tabs setzen, zudem können die Instanzen unabhängig voneinander Texteingaben tätigen.

So kann man sich zum Beispiel zweimal mit einer Instanz verbinden – jeweils auf unterschiedlichen Monitoren – und in der einen Instanz Eingaben tätigen, die etwas auslösen, das man aber nicht direkt sehen kann. Mit der anderen Instanz kann man sich zur gleichen Session auf einem zweiten Tab verbinden, um dort dann die Ausgaben zu prüfen, ohne dass man ständig zwischen den Tabs wechseln muss, da man beides auf separaten Monitoren hat. Gleichzeitig hat man z.B. auf dem Server aber nur eine Zellij-Instanz laufen.

Dies könnte man auch mit zwei Panes im gleichen Tab erreichen, wenn das Tab aber schon sehr viele Panes hat, ist dies eventuell die einfachere Variante.

Weblinks