Wie starte ich tmux mit mehreren Fenstern gleichzeitig?

22

Angenommen, ich starte tmuxund führe sofort Ctrl+ b+ %und Ctrl+ b+ aus ".

Dies gibt mir eine große Scheibe auf der linken Seite des Bildschirms; Auf der rechten Seite des Bildschirms befinden sich ein oberer und ein unterer Bereich.

Wie kann ich tmux so konfigurieren, dass es in dieser Konfiguration startet, ohne diese Befehle eingeben zu müssen?

Mark Harrison
quelle
Wenn Sie mit einem Klick ein paar Terminals auf einmal öffnen möchten, können Sie dies mit dem Terminator tun . Installieren Sie es aus dem Software Center.
Sagar Nair
Danke, das ist ein guter Befehl zu wissen! In meinem speziellen Fall handelt es sich um eine SSH-Sitzung mit einem Remotecomputer.
Mark Harrison

Antworten:

15

Sie können folgendes Shell-Skript für Ihre Konfiguration verwenden:

#!/bin/sh 
tmux new-session -s "mySession" -d
tmux split-window -h
tmux split-window -v
tmux -2 attach-session -d 

Dies gibt die erforderliche Konfiguration des Bildschirms mit folgenden Befehlen, wie Sie erwähnt haben. tmux -> Ctrl+ b+ %-> Ctrl+ b+"

Als Referenz benutzen Sie bitte die tmux-Manpage .

Harshit
quelle
4

Das Aktivieren und Deaktivieren von automatischen tmuxSitzungen bei der Anmeldung mithilfe der Byobu- Anwendung kann einfach sein . Sie können Byobu als Schnittstelle verwenden, tmuxum diesen Bedarf zu decken. Es macht es einfach, das zu tun, wonach Sie fragen. Führen Sie in einem Terminal die folgenden Befehle aus:

sudo apt-get install byobu
sudo byobu-enable
sudo -i

Wenn sich der Root-Benutzer über die Konsole, über SSH oder mit anmeldet sudo -i, wird Byobu eine Verbindung zu einer vorhandenen tmuxSitzung herstellen oder eine neue Sitzung erstellen, sofern noch keine ausgeführt wird. Verwenden Sie sudo -ianstelle von sudo -s. Die -sOption startet nur eine Shell, keine Login-Shell. Sie sollten verwenden sudo -i, um eine vollständige Anmeldung zu emulieren, die auch roots ~/.profilegeladen wird. Hier installiert sich byobu, wenn Sie ausgeführt werden

byobu-enable.

Sie können verschiedene Sitzungen .tmux.confwie folgt konfigurieren :

# initialize sessions
bind S source-file ~/.tmux/session1 
bind s source-file ~/.tmux/session2

Anschließend können Sie die Sitzungen nach Bedarf formatieren:

#session1
new  -s SessionName -n WindowName Command
neww -n foo/bar foo
splitw -v -p 50 -t 0 bar
selectw -t 1 
selectp -t 0

Dies würde 2 Fenster öffnen, von denen das zweite foo / bar heißt und vertikal in zwei Hälften (50%) geteilt wird, wobei foo über bar läuft. Der Fokus liegt auf Fenster 2 (foo / bar), oberer Bereich (foo).

Mit Byobu können Sie tmux ganz einfach automatisch einrichten und starten.

Abhishek Tandon
quelle
1
warum bind S vs bind s? (erst großes s, dann kleines s?)
knb
2

Das tmux-resurrect- Plugin ermöglicht das Einrichten der Sitzungspersistenz und bietet zusätzliche Funktionen zum Speichern und Wiederherstellen von Einstellungen in allen tmux-Sitzungen.

Viele zusätzliche Funktionen stehen zur Verfügung. Von der Plugin-Webseite:

" Dieses Plugin ist sehr bemüht, alle Details aus Ihrer tmux-Umgebung zu speichern und wiederherzustellen. Hier ist, worauf geachtet wurde:

  • Alle Sitzungen, Fenster, Fenster und deren Reihenfolge
  • aktuelles Arbeitsverzeichnis für jeden Bereich
  • exakte Fensterlayouts innerhalb von Fenstern (auch beim Zoomen)
  • aktive und alternative Sitzung
  • aktives und alternatives Fenster für jede Sitzung
  • Fenster mit aktivem Fokusfenster für jedes Fenster
  • "Gruppierte Sitzungen" (nützliche Funktion bei Verwendung von tmux mit mehreren Monitoren) Programme, die in einem Fenster ausgeführt werden! "

Installation:

  1. Navigieren Sie im Terminal zu Ihrem tmux-Plugin-Verzeichnis (in meinem Fall, ~/dotfiles/tmux/plugins).
  2. Klonen Sie das Repository mit dem Befehl: git clone https://github.com/tmux-plugins/tmux-resurrect.

  3. Bearbeiten Sie Ihre .tmux.confDatei und fügen Sie die Zeile hinzu set -g @plugin 'tmux-plugins/tmux-resurrect'.

  4. Laden Sie die tmux Umgebung mit dem Befehl: tmux source-file ~/dotfiles/tmux/tmux.conf.
  5. Geben Sie das gewünschte Layout ein. In diesem Fall Ctrl- b %und Ctrl- b ".
  6. Speichern Sie Ihre tmux-Sitzung, indem Sie den Befehl Ctrl- b+ Ctrl- eingeben s.
  7. Wenn Sie Ihre tmux-Sitzung das nächste Mal starten, geben Sie den Befehl Ctrl- b+ Ctrl- ein r, um Ihre tmux-Sitzung wiederherzustellen.

Wie bereits erwähnt, kann dieses Plugin nicht nur das Fensterlayout der tmux-Sitzung einrichten, sondern auch dauerhafte Arbeitsverzeichnisse einrichten und Ihre laufenden Anwendungen bei jeder Sitzung neu starten.

Kevin Bowen
quelle
1

Ich habe mir ein kleines Bash- Skript geschrieben:

# filename tmuxv in /home/<username>/Bash/tmuxv/

#!/bin/bash
tmux new-session \; split-window -v \; rename-window ${1} \; attach

und lege einen Alias in meine ~ / .bash_aliases

alias tmuxv="/home/<username>/Bash/tmuxv/tmuxv"

Jetzt kann ich einfach tippen tmuxv PYTHONund habe eine vertikal geteilte tmux-Sitzung mit einem Fenster namens PYTHON, was sehr schön ist, da sich der Fenstername in meinem Registerkartennamen für Gnome-Terminals widerspiegelt.

anarchist912
quelle
1
Gute Antwort, aber bitte entfernen Sie die Frage am Ende. Versuchen Sie, es als neue Frage zu stellen, damit mehr Menschen es sehen.
Tom Brossman