2012-09-17 12 views
12

W tmux Mam układ 3 kolumn i 2 wiersze, w górnym rzędzie jest połączenie ssh z całym moim serwerem, a na dole są te same serwery, które są uruchomione.tmux zsynchronizuj niektóre ale nie wszystkie panele

Próbuję zsynchronizować górny wiersz, więc jeśli wprowadzę polecenie, wszystkie trzy tafle skopiują to samo polecenie, spróbowałem zsynchronizować-panele, ale ponieważ strony podręcznika mówią, że uruchomi polecenia przez wszystkie panele, które następnie spustoszyły z całym moim "topem" w rzędzie BOTTON.

czy mimo to można zsynchronizować zestaw szyb?

+8

Naprawdę nie rozwiązanie, ale dowolne okno ustawione w innym trybie (np. tryb zegara, tryb kopiowania, wyświetlanie pomocy) nie reaguje na naciśnięcia klawiszy. Jeśli do zsynchronizowania potrzebujesz tylko kilku paneli, działa to całkiem nieźle. –

+0

Zastanawiam się, jak to zrobić ... Rozważałem zagnieżdżoną sesję tmux –

+0

@EddSteel Właściwie jest to lepsze rozwiązanie niż jedyna odpowiedź zamieszczona tutaj. Dobra wskazówka! – mostruash

Odpowiedz

8

Nie jest to dokładnie to, czego szukasz, ale jest całkiem blisko. Chodzi o to, aby powiązać klucz do zestawu poleceń do:

  1. wierszem na polecenie uruchomienia
  2. Korzystając „select-okienka” do wyboru pierwszej tafli najwyższym poziomie
  3. użycia „send-klucze "aby uruchomić polecenie
  4. Powtórz kroki 2 i 3 dla innych czołowych szyb poziomu

Oto jak komenda wygląda

bind R command-prompt -p "Command :" "select-pane -t 0 \; send-keys "%1" C-m \; select-pane -t 2 \; send-keys "%1" C-m \; select-pane -t 4 \; send-keys "%1" C-m " 

Poniżej znajduje się pełna przykład konfiguracji niech się 6 szyb, 2 rzędy po 3:

$ tmux new -s 'top_n_tail' \; split-window -h \; split-window -h \; select-layout even-horizontal \; detach 
$ tmux att -t 'top_n_tail' \; select-pane -t 0 \; split-window \; detach 
$ tmux att -t 'top_n_tail' \; select-pane -t 2 \; split-window \; detach 
$ tmux att -t 'top_n_tail' \; select-pane -t 4 \; split-window 

Na tmux prompt (Cb :) wiążą „R” do zestawu poleceń tmux które akceptują swoje polecenia bash i wysłać go do niektórych szybach:

:bind R command-prompt -p "Command :" "select-pane -t 0 \; send-keys "%1" C-m \; select-pane -t 2 \; send-keys "%1" C-m \; select-pane -t 4 \; send-keys "%1" C-m " 

teraz kiedy trafisz Cb R, zostaniesz poproszony o podanie komendy

Prompt to enter command

Który będzie działać tylko w trzech górnych panelach

Powiązane problemy