Chciałbym wiedzieć, czy istnieje sposób, aby się tmux
zachowywać screen -D -R
tak, żebym mógł powiedzieć, że polecenie to jako polecenie domyślne w Putty.
Te screen
przełączniki wymusiłyby odłączenie istniejącej sesji ekranowej dla mojego użytkownika (nawet jeśli była ona nadal aktywna i zalogowana gdzie indziej) i ponownie dołączyła ją do bieżącej sesji. Ponadto, w przypadku braku sesji ekranowej, utworzy nową.
Lubię tmux i widzę wyraźne zalety w stosunku do ekranu, ale istnienie tej funkcji naprawdę przypieczętuje umowę.
tmux attach
nie wydaje się tworzyć nowej sesji, jeśli jej nie ma.
Strona podręcznika dla tmux mówi:
Jeśli nie zostanie uruchomiony żaden serwer, sesja dołączania (dołączanie) spróbuje go uruchomić; zakończy się to niepowodzeniem, chyba że sesje zostaną utworzone w pliku konfiguracyjnym.
Co oznacza pogrubiona sekcja? (Nie mogę znaleźć przykładu tworzenia sesji w pliku conf).
źródło
tmux
poleceń, które są wykonywane sekwencyjnie przy pierwszym uruchomieniu serwera. ” - możesz miećattach
lubnew-session
jako wiersz w swoim.tmux.conf
.new-session
miałby się wydarzyć ...Odpowiedzi:
Tak:
$ tmux attach -d || tmux new
-d
jest konieczne, aby zachowywać się jakscreen -D
np. odłączyć wszystkich innych.Połącz przez ssh, następnie dołącz lub utwórz może być coś takiego:
źródło
new-session
plikiem konfiguracyjnym na wypadek, gdybyś chciał go edytować i załadować ponownie podczas sesji tmux.Aby
tmux attach
utworzyć nową sesję, gdy jej nie ma, użyj opcjinew-session
w pliku konfiguracyjnym tmux. Utwórz plik,~/.tmux.conf
jeśli nie istnieje, i dodajdo tego. Ponadto, alias
tmux
dotmux attach
:)źródło
new-session
w~/.tmux.conf
bo gdybym przeładować konfigurację za pomocą komendysource-file ~/.tmux.conf
(zobacz to ) nowa sesja zostanie uruchomiony. Tak, mogę go zabić, a następnie dołączyć do poprzedniego, ale to trochę denerwujące.Można to emulować za pomocą funkcji powłoki, powinno to działać z każdą powłoką zgodną z POSIX:
Teraz, jeśli uruchomisz go jako
tmux -z
, powinien on wykonać akcje, których szukasz.źródło
ten działa dla mnie trochę lepiej:
źródło
Uważam, że to działa najlepiej dla mnie na .bashrc
źródło
Jeśli używasz tego w pliku .shrc lub podobnym z
exec
polecamźródło