Przeglądając pytania dotyczące tmux (zwykle używałem GNU Screen). Moje pytanie brzmi: jakie są zalety i wady każdego z nich. Szczególnie nie mogłem znaleźć wiele na temat tmux.
gnu-screen
terminal-multiplexer
tmux
Maciej Piechotka
źródło
źródło
Odpowiedzi:
Z ich strony internetowej :
źródło
<C-Left>
wvim
wtmux
.Jedną różnicą jest to, jak działają te dwa, gdy do jednej sesji podłączonych jest wiele terminali.
Z ekranem widok każdego podłączonego terminala jest niezależny od pozostałych. Dzięki tmux wszystkie podłączone terminale widzą to samo.
Załóżmy, że masz dwa terminale podłączone do jednej sesji Tmux. Jeśli wpiszesz ^B1 w jednym terminalu, drugi terminal przełączy się również do okna 1.
Gdy masz dwa terminale podłączone do jednej sesji ekranu i wpiszesz ^A1 w jednym, nie ma to wpływu na drugi terminal.
Jest to oparte na moich doświadczeniach z tmux 1.2; Widzę, że 1.3 jest niedostępny, ale nie zauważyłem niczego w dzienniku zmian na temat zmiany tego zachowania.
Jeśli podoba Ci się zachowanie ekranu i chcesz go w tmux:
Jeśli twoja oryginalna sesja tmux nazywa się
0
(domyślna), możesz to zrobićtmux new-session -t 0
), aby uruchomić nową niezależną sesję połączoną z tym samym zestawem okien, który może mieć własny widok.źródło
tmux new -t 0
.tmux jest dość nowy w porównaniu z ekranem GNU. Zalety / wady to trudne pytanie, ponieważ oba programy rozwiązują w przybliżeniu ten sam problem. tmux ma licencję BSD, podczas gdy screen jest GNU GPL. To ma znaczenie dla niektórych osób.
screen jest obecnie bardziej reprezentowany (w Linuksie), to znaczy, że bardziej prawdopodobne jest, że znajdziesz go na danym komputerze z linuksem niż w tmuxie. tmux jest jednak bardziej reprezentowany w OpenBSD, ponieważ jest zawarty jako część instalacji podstawowej.
Oba programy pozwalają ci robić to samo, chociaż stan rzeczy jest nieco bardziej skomplikowany. Przełączanie się między nimi nie jest zbyt skomplikowane, ponieważ wiele funkcji ekranów również znalazło zastosowanie w tmux, chociaż jeśli jesteś zaawansowanym użytkownikiem jednego z nich, prawdopodobnie znajdziesz pewne frustracje podczas przełączania się na drugie.
Jak w przypadku każdego programu, tak naprawdę zależy to od twoich potrzeb i tego, z czym czujesz się lepiej. Wypróbuj je i przekonaj się, w którą grę grasz.
Aby uzyskać więcej informacji na temat tmux, zobacz https://tmux.github.io/
źródło
Największą różnicą w moim użyciu było to, że w Gnu Screen możesz dzielić ramki tylko w poziomie, podczas gdy w Tmux możesz dzielić zarówno w poziomie, jak i w pionie. Jest to rodzaj ruchomego celu, ale jak tu mówię, podział pionowy przenika na ekran .
Poza tym rzeczy są płaskie.
źródło
Pomyślałem, że wspomnę tylko o
byobu
opakowaniu, które jest dostępne dla ekranu, dzięki czemu jest o wiele lepiej od razu po wyjęciu z pudełka. Nie wiem, czy coś takiego jest dostępne dla tmux, alebyobu
mój .screenrc stworzył tylko garść linii. Sprawdź ten krótki artykuł o byobu i zrzutach ekranu. Strona projektu byobu opisuje nazwę wywodzącą się z japońskiego terminu na dekoracyjne, wielopanelowe ekrany, które służą jako przegrody rozkładane. Ponadto samo uruchomienie nie szkodzi ustawieniom ekranu, więc możesz bezpiecznie wypróbować. Po rozpoczęciu sesjibyobu
możesz swobodnie połączyć się z nią za pomocąscreen
i nadal nie tracić żadnych dostosowań wykonanych przezbyobu
(więc używaj jej tylko do pierwszego wywołania). Dwie główne zalety to:Nie używam części skrótów klawiszowych, ale zdecydowanie uważam, że paski stanu są przydatne.
Przydatny może być również link tmux Screen Vs. Myślę, że większość z nich jest już wspomniana w istniejących odpowiedziach.
źródło
byobu
, takie jak odpowiedzi z listą funkcji.byobu
, ale jest to tak proste, jak uruchomienie polecenia i znalezienie go dla siebie (jest obsługiwane przez menu), ponieważ nie psuje istniejących ustawień ekranu. Uczyniłem moją odpowiedź wiki społeczności, więc możesz ją edytować.Drench podnosi interesujący punkt - domyślne zachowanie dwukrotnego łączenia się z tą samą sesją jest inne w tmux. Jeśli jednak chcesz dołączyć dwa razy i mieć niezależny widok okien w tej sesji - uruchom tmux za pomocą
Spowoduje to utworzenie nowej sesji i dołączenie okien z już istniejącej sesji. Jeśli nie nazwałeś swojej pierwszej sesji, możesz dodać jedną z „zmiana nazwy sesji”.
źródło
Jedną z głównych wad
screen
jest to, że nie jest aktywnie rozwijany. Strony błędów zawierają blisko 200 nieprzypisanych elementów w ciągu 5 lat.tmux
ma również pewne otwarte problemy, ale znacznie mniej i jest aktywniej wspierany.źródło
tmux jest nowszy i kilka innych funkcji.
Przekonałem się, że dobre użycie zależy od dobrego ustawienia.
Korzystam z vi (vim) do edycji (ruby na szynach) i jest kilka rzeczy do ustawienia, aby działały dobrze.
Oto mój plik ~ / .tmux.conf z wieloma przydatnymi ustawieniami:
źródło
Pozwolę sobie dodać jedną różnicę:
tmux jest oparty na ncurses, podczas gdy screen nie rysuje dodatkowych elementów. Jeśli ktoś użyje emulatora terminala, który obsługuje przewijanie, będzie on przewijał ekran, ale nie tmux (przynajmniej w domyślnej konfiguracji). To samo dotyczy wyszukiwania i podobnych funkcji.
źródło
Miałem problemy z uzyskaniem ekranu do obsługi utf-8 i 256 kolorów, ale tmux działał od razu po wyjęciu z pudełka.
źródło