Ich habe dieses Snippet verwendet, um tmux zu starten, wenn das Terminal gestartet wird:
# TMUX startup
if command -v tmux>/dev/null; then
[[ ! $TERM =~ screen ]] && [ -z $TMUX ] && exec tmux
fi
Aber damit kann ich tmux nicht beenden, ohne dass auch der Terminalbildschirm geschlossen ist.
Ich habe es versucht:
Ctrl + b :detach
exit
Und nach der PID suchen und sie töten. Alle diese Methoden schließen auch das Terminal.
Wie sollte ich tmux so konfigurieren, dass es beim Starten des Terminals startet, es aber trotzdem schließen kann, ohne dass das Terminal geschlossen wird? Irgendwelche Tipps sind willkommen!
command-line
bash
shortcut-keys
bashrc
tmux
bpinaya
quelle
quelle
tmux
, aber ich bekomme ein :sessions should be nested with care, unset $TMUX to force
. Ich habe auch versucht, den Ausschnitt, den ich verwendet habe, so zu belassen, wie er ist, undtmux
am Ende des Ausschnitts einen hinzuzufügen, der~/.bashrc
dann aber immer noch das Terminal verlässt.Antworten:
Das Problem ist der
exec
Befehl. Wie hier erläutert ,exec
wird die aktuelle Shell durch die von Ihnen angegebene Ausführung ersetzt. Sie haben also keine Shell, die ausgeführt wirdtmux
, sondern nur eine. Wenn Sie sietmux
beenden, wird auch das Terminal verlassen.Entfernen
exec
Sie einfach die und es sollte wie erwartet funktionieren:quelle