Ihre Konfigurationsdatei funktioniert, aber es gibt einige Komplikationen.
Kurzlebige Befehle
Zunächst werden die Befehle, die Sie starten (Instanzen von ls ), sehr schnell ausgeführt. Die Fenster und Fenster für die Befehle werden erstellt, verschwinden jedoch, sobald ein Befehl beendet wird.
Wenn Sie tatsächlich solche One-Shot-Befehle in Ihrer endgültigen Konfiguration verwenden möchten, sollten Sie wahrscheinlich die Fensteroption remain-on-exit
(und möglicherweise die Sitzungsoption verwenden set-remain-on-exit
, um einen Standard für alle in der Sitzung erstellten Fenster anzugeben). Wenn remain-on-exit
ein Fenster eingestellt ist, verschwindet es nicht, wenn der Befehl beendet wird. Wahrscheinlich möchten Sie das respawn-window
einem Key zuordnen (Hinweis: respawn-window
Respawn des ursprünglichen Befehls; respawn-pane
ist auch in tmux 1.5 verfügbar, um einzelne Bereiche zu respawn ).
bind-key R respawn-window # set global r-o-e so that initial window of initial session gets it set -g set-remain-on-exit on # create a session and its windows/panes new -n estruct ls neww -n estruct2 ls splitw -v -p 50 -t 0 ls # restore global r-o-e set -g set-remain-on-exit off # let session r-o-e inherit from global value for future windows set -u set-remain-on-exit
Wenn Sie nichts dagegen haben, dass Ihr Anfangsfenster Nummer 1 anstelle von Nummer 0 ist, können Sie den globalen Wert nicht ändern:
bind-key R respawn-window # create a session with a throw-away window new true # for future windows, stay open after the command exits set set-remain-on-exit on # create the windows we really want neww -n estruct ls neww -n estruct2 ls splitw -v -p 50 -t 0 ls # for future windows, revert r-o-e to global value set -u set-remain-on-exit
Wenn Sie nur ls
einen vereinfachten Platzhalterbefehl verwendet haben und tatsächlich einen interaktiven Befehl in Ihren Fenstern / Fenstern erzeugen möchten, sollten Sie wahrscheinlich nur den Befehl erzeugen, den Sie ausführen möchten. Wenn der gewünschte Befehl zu lange dauert es bis zur Inbetriebnahme während verwenden tmux Tests ersetzen dann eine Shell oder anderen einfachen interaktiven Befehl (zB top
, sqlite3
usw.).
new-session
Ist der Standardbefehl
Zweitens ist die Ausführung von tmux ohne Befehlsargument (z. B. tmux
) gleichbedeutend mit der Verwendung des new-session
Befehls (dh es tmux
ist das gleiche wie tmux new-session
). Sie .tmux.conf
erstellen eine Sitzung für ihre Fenster / Fenster ( new
ist ein Alias für new-session
) und eine weitere Sitzung wird für den impliziten new-session
Befehl erstellt, der durch Starten von tmux ohne Befehlsargument angegeben wird . Wenn Sie die Standardstatusleiste verwenden, wird [1]
in der „zusätzlichen“ Sitzung links von der Statusleiste ein a angezeigt (die erste Sitzung, die in der erstellten Sitzung erstellt wurde, .tmux.conf
ist die Nummer 0).
Wenn Sie die Erstellung einer zusätzlichen Sitzung vermeiden möchten, verwenden Sie tmux attach
statt einfach tmux
. Die Befehle .tmux.conf
werden ausgeführt, wobei Sitzung 0 erstellt wird, und der Client wird an diese Sitzung angehängt, anstatt eine neue zu erstellen.