Wie .tmux.conf
führe ich einen Shell-Befehl aus oder auf andere Weise automatisch aus, wenn tmux gestartet wird, ohne einen anderen Befehl ausführen zu müssen?
Wie kann ich beispielsweise einen Alias, eine Funktion oder ein Skript erstellen, auf das es ankommt?
tmuxirc -> tmux + irssi
Antworten:
Es hört sich so an, als ob Sie tmux extern von Ihrer Shell aus aufrufen möchten, anstatt dies von tmux aus zu tun. Es
.tmux.conf
ist also der falsche Ort. Sie können einen Shell-Alias verwenden (platzieren Sie diesen.bashrc
zur Wiederverwendung in Ihrem ):quelle
Es scheint zwar nicht das zu sein, wonach Sie gesucht haben, aber die Lösung für:
ist
run-shell
oder in seiner abgekürzten Form ,run
. Von dertmux
Manpage:Wenn Sie beim Starten im Hintergrund ein Skript im Hintergrund starten müssen
tmux
, können Sie es verwendenrun "command > /dev/null"
.quelle
Ich mache etwas Ähnliches mit einem Skript. Wenn ich tmux mit meiner Entwicklungskonfiguration starten möchte, nenne ich es. Das Skript selbst sieht folgendermaßen aus:
Dies gibt mir eine tmux-Sitzung mit 2 Fenstern, Fenster 1 hat eine Vim-Sitzung im oberen Bereich des Bildschirms, mit zwei Terminals im unteren 3. oder so des Bildschirms, die alle auf mein Verzeichnis / var / www / htdocs / zeigen . Fenster 2 ist nur eine Vollbildkonsole. Das Gute daran ist, dass die Sitzung nicht neu erstellt wird, wenn sie bereits vorhanden ist, sondern nur an sie angehängt wird.
quelle
Es gibt einen
display-message
Befehl in dertmux
Manpage:Und im Abschnitt FORMATE gibt es eine Variable mit dem Namen
session_name
, die durch den Namen der Sitzung ersetzt wird, wenn Sie sie im Format verwenden#{session_name}
.Versuchen Sie auszuführen,
tmux display-message -p '#{session_name}'
wenn Sie sich in einer tmux-Sitzung befinden. Vielleicht sehen Sie eine Nummer, es ist die ID der Sitzung, die Sie angehängt haben. Ausführentmux ls
, um die Sitzungsliste zu überprüfen.Wenn Sie jedoch einen tmux mit starten
tmux new -s myproject
, sehen Siemyproject
als Ausgabe, aber keine Zahl. Weil Sie den Namen der Sitzung angegeben haben, als Sie tmux gestartet haben.Meine Lösung besteht also darin, einen Code in die
~/.bashrc
Datei zu legen :Verwendungszweck
Sie sehen die Ausgabe in jedem Panel, das Sie erstellen:
Der Vorteil dieser Lösung besteht darin, dass Sie verschiedene Skripte für verschiedene Projekte oder Umgebungen angeben können.
quelle