Dlaczego Tmux
Program obecnie działający na komputerze to proces. Aby uruchomić więcej niż jeden proces z Linux, potrzebujesz więcej niż jedno okno terminala: jedno okno terminala na proces. Te okna będą pokrywać się, a niektóre prawie pokrywają inne. Aby wziąć udział w procesie, musisz kliknąć okno, aby wynieść je na pierwszy plan. Gdy jest na pierwszym planie, możesz zobaczyć niektóre wyniki lub dane wejściowe. Jest to wielozadaniowość: jednocześnie uruchamianie więcej niż jednego procesu; W takim przypadku z różnymi oknami. Jest to wielozadaniowość bez użycia Tmux. Tmux oferuje multipleksowanie jako lepszy zastępca - patrz poniżej.
Każde okno używa skorupy, takiej jak bash. Polecenia programowe muszą być wpisane do skorupy przed uruchomieniem.
Sesja to tymczasowe wymiany wiadomości między użytkownikiem a jego komputerem lub między komputerem użytkownika a komputerem zdalnym za pośrednictwem sieci fizycznej. Proces może obejmować takie wymiany wiadomości. Praca z jednym oknem to jedna sesja. Praca z wieloma oknami w jednym czasie trwania to jedna sesja.
Korzystanie z okna terminala w Linux do wielozadaniowości, jak pokazano powyżej, może stać się kłopotliwe, gdy liczba procesów wynosi więcej niż trzy, a procesy są długie.
Wielozadaniowość można wykonać w jednym oknie terminalu, ale z następującymi wadami:
Jeśli uruchomisz proces z jednym oknem terminalu i chcesz uruchomić inny, będziesz musiał zatrzymać pierwszy pierwszy. Kiedy zatrzymujesz proces, proces zatrzymuje się i nic nie robi. Następnie możesz rozpocząć następny proces. Jeśli wkrótce zakończysz następny proces, możesz wznowić pierwszy proces, nadal w tym samym oknie. To wygląda jak multipleksowanie końcowe, ale tak nie jest. W przypadku multipleksowania końcowego procesy powinny działać w tym samym czasie.
W jednym oknie terminalu można uruchomić więcej niż jeden proces przy użyciu schematu asynchronicznego. Jednak różne procesy będą wysyłać wyniki do tego samego okna, a wyświetlone wyniki będą niespójne. Ponadto, gdy dane wprowadzają, przejdą one do różnych procesów. Ten schemat może działać tylko wtedy, gdy masz niewiele procesów i znasz wszystkie ich wyniki, aby móc wiedzieć, jakie dane wejściowe wysłać i kiedy. Tej sytuacji niewielu procesów jest mało prawdopodobne.
Z oknem terminalu możesz rozpocząć proces na zdalnym komputerze, a następnie połączenie fizyczne nie powiada się. Po przywróceniu połączenia wyniki będą niewiarygodne.
Kolejną wadą z konwencjonalnymi oknami terminalowymi jest to, że komunikacja nie może odbywać się między oknami, gdy otwiera się więcej niż jedno okno.
TMUX to program, który rozwiązuje te problemy. W tym artykule wyjaśnia, w jaki sposób TMUX rozwiązuje te problemy i omawia niektóre dodatkowe funkcje Tmux.
Treść artykułu
Rozwiązanie oferowane przez Tmux
Jak wskazano powyżej, okno terminalu ma ograniczenia dotyczące wielozadaniowości. Tmux pokonuje te ograniczenia. Tmux zastępuje okno terminalu własnym oknem, gdy jest aktywne. Tmux może mieć więcej niż jedno okno. Dodane okna nakładają się na siebie nawzajem. Możliwe jest przełączanie między tymi nałożonymi oknami. I tak wyniki nie są mieszane, dane wejściowe i wyniki nie są mieszane. Okno Tmux można podzielić na mniejsze okna. Te mniejsze okna nazywane są panewami.
Z konwencjonalnym terminalem, jeśli uruchamiasz proces zdalny i połączenie się nie powiodło się, możesz nie być w stanie kontynuować miejsca, w którym przerwałeś się po przywróceniu połączenia. To znaczy wyniki zdalnego procesu zdalnego komputera nie byłyby wiarygodne. Tmux może to rozwiązać, odłączając sesję okien.
W każdym oknie skorupa (e.G., Bash) działa w celu obsługi poleceń.
Instalowanie Tmux w Linux
Może Tmux jest już zainstalowany na twoim komputerze. Musisz więc sprawdzić, czy jest on najpierw zainstalowany, aby nie ponownie zainstalować. W wierszu polecenia terminala wpisz
Tmux --versioni naciśnij Enter.
Jeśli nie zostanie zainstalowany, powie ci. Jeśli zostanie zainstalowany, będziesz mieć opinie takie jak,
Zastosowanie: tmux [-2cluvv] [-c powłoka-command] [-f plik] [-l Nazwa gniazda]Polecenia w tym samouczku zostały przetestowane z Ubuntu i działały dobrze. Więc jeśli obecnie korzystasz z systemu operacyjnego Ubuntu, możesz testować polecenia podczas czytania.
Instalowanie Tmux w Ubuntu i Debian
Aby zainstalować w dowolnym z tych systemów operacyjnych, wpisz
i naciśnij Enter. Jeśli poprosi Cię o hasło, wpisz hasło i naciśnij Enter.
Instalowanie Tmux w Centos i Fedora
Aby zainstalować w Centos lub Fedora, wpisz
i naciśnij Enter. Odpowiedz na każde zadane pytanie.
Uruchamianie tmux
Tmux to narzędzie, które należy uruchomić, zanim będzie można go użyć. Po otwarciu okna terminalu Tmux nie działa. Można go uruchomić i zatrzymać. Po uruchomieniu przejmuje kontrolę nad oknem terminalu i nakłada własne okna. Kiedy jest zatrzymany, wrócisz do okna terminala. Aby uruchomić Tmux, wpisz
Tmux(wszystkie znaki małymi literami) i naciśnij Enter. Będziesz mieć nowe okno. Tmux przejmie nowe okno. Nowe okno wygląda jak okno zacisku, ale z paskiem stanu na dole. W tej sytuacji pasek stanu wskazuje, że jesteś w oknie Tmux 0, pokazany jako 0: Bash (jeśli używasz powłoki bash).
Domyślną kombinacją klawisza TMUX to:
Ctrl+b
Naciskacie klawisz sterowania i małą literę B, a gdy tylko zwolnisz klawisze, naciskasz inną postać. Aby wyświetlić listę poleceń Tmux, wpisz
Ctrl+b ?
To znaczy naciśnij klawisz kontrolny i postać B jednocześnie, a gdy tylko wydasz dwa klucze, naciśnij Shift i? Klucz (jeśli używasz klawiatury angielskiej). Powinieneś zobaczyć listę poleceń. Lista jest dość długa. Kursor byłby u góry. Możesz użyć klawisza strzałki w dół, aby przewijać listę.
Aby wyjść z wyświetlacza, naciśnij
Q
I wrócisz na wiersz polecenia.
Wychodzenie z bieżącego okna
Aby wyjść z bieżącego okna, wpisz
i naciśnij Enter. Zobaczysz
[Wychodzący]Wskazując, że wyszedłeś z aplikacji TMUX (jeśli otworzyło się tylko jedno okno TMUX). Powinieneś wrócić do normalnego okna zacisku, jeśli miałeś tylko jedno okno Tmux. Jeśli ponownie wykonasz polecenie „Wyjdź”, normalne okno terminalu zamknie.
Tworzenie więcej niż jedno okno Tmux
W powyższej sekcji utworzono tylko jedno okno. Po uruchomieniu tmux utworzono jedno okno (0: bash). Możesz stworzyć więcej. Jeśli nie otworzyłeś okna terminala, otwórz je i uruchom TMUX, wpisując,
Tmuxi naciśnięcie Enter. Okno zacisku powinno przekształcić się w okno Tmux, pierwsze okno Tmux. Utwórz trzy kolejne okna ekranu, wpisując następujące polecenia i naciskając Enter, gdzie C jest małymi literami (i nie potrzebuje klawisza zmiany biegów):
Ctrl+B C
Ctrl+B C
Ctrl+B C
Dla każdego z poleceń naciskacie klawisz sterowania i klawisz B (małymi literami); Zwolnij te klawisze, a następnie po prostu naciśnij klawisz C. Może to zająć krótkie doświadczenie, aby to zrobić. Jeśli pomyślnie wykonałeś trzy polecenia, a jeśli używasz powłoki bash, to na pasku stanu powinieneś zobaczyć
[0] 0: Bash 1: Bash 2: Bash- 3: Bash*[0] oznacza sesję 0. Reszta linii oznacza, że otworzyłeś cztery okna, które są 0: Bash, 1: Bash, 2: Bash i 3: Bash. Liczenie okien Tmux zaczyna się od 0.
Aby przejść do dowolnego innego okna, wykonaj następujące polecenie:
Ctrl+B S
Powinieneś zobaczyć inną prezentację, listę prezentacji Windows. Możesz podkreślić etykietę okna, które chcesz za pomocą klawisza lewej arrowów lub klawisza prawej na klawiaturze. Użyj klawisza prawej, aby wybrać okno numer 1, który jest w rzeczywistości drugim oknem, i naciśnij Enter.
Jeśli wpisałeś dowolne polecenie w drugim oknie, powinieneś zobaczyć polecenia w oknie. Na pasku stanu powinieneś również zobaczyć 1: Bash*. Gwiazdka (*) wskazuje okno, w którym się znajdujesz, aw tym przypadku jest to okno nr 1, które w rzeczywistości jest drugim oknem.
Możesz nadal wpisać dowolne polecenia w tym drugim oknie. Możesz zmienić inne okno, podobnie.
Przełączanie się na inne okna
Możesz przejść do innego okna, używając powyższej metody. Istnieje inna metoda: przejście na okno nr 3 (czwarte okno), wykonać
Ctrl+B 3
Powinieneś teraz mieć,
3: Bash*Z gwiazdką na pasku stanu, co oznacza, że jesteś w czwartym oknie. Aby przejść do nowego okna, możesz wykonać „indeks Ctrl+B”, gdzie indeks jest numerem porządkowym minus jeden.
Przejście do następnych i poprzednich okien
Aby przejść do następnego okna, zrób
ctrl+b n
Gdybyś był w drugim oknie, dotarłbyś do trzeciego okna. Gdybyś był w ostatnim oknie, przybyłbyś do pierwszego okna. Aby przejść do poprzedniego okna, zrób
Ctrl+B P
Gdybyś był w pierwszym oknie, przybyłbyś do ostatniego okna.
Wymień wszystkie okna
Aby wymienić wszystkie okna, zrób
ctrl+b w
Na wyświetlonej liście będziesz mógł wybrać następne okno, które chcesz, z klawiaturą w górę lub w dół. Po podświetleniu naciśnij klawisz Enter, aby wejść do wybranego okna.
Wyjście z okna
Aby wyjść z typu okna,
i naciśnij Enter. Możesz wyjść z wszystkich okien, wielokrotnie wykonywając polecenie wyjścia. Jeśli to zrobisz, liczbę razy, odpowiadającym liczbę Windows TMUX, dojdziesz do okna terminala, które zostało przejęte przez narzędzie TMUX; i zobaczysz:
[Wychodzący]Jeśli ponownie wykonasz polecenie wyjścia, zamkniesz okno terminala.
Zabijanie obecnego okna
Kiedy zabijesz okno, zabijasz go procesem. Zabić okno, zrób
Ctrl+B &
Pojawi się wiadomość podobna do tego poniżej, pytając, czy naprawdę chcesz zabić okno.
Kill-Window Bash? (T/N)Jeśli naprawdę chcesz zabić okno, naciśnij Y, a okno zostanie zabite, jeśli nie chcesz zabić okna, naciśnij n.
Dołączenie i odłączanie sesji Tmux
Okno TMUX służy nie tylko do pracy na lokalnym komputerze osobistym. Można go użyć do przeprowadzenia procesu na zdalnym komputerze. Kiedy okno wykonuje pracę dla lokalnego komputera osobistego lub uruchamia proces w komputerze zdalnym, mówi się, że okno jest załączone. W przypadku procesu zdalnego, jeśli odłączyłeś okno i pęknie, wynik procesu na komputerze zdalnym będzie nadal wiarygodny. Oczywiście proces na zdalnym komputerze może zatrzymać się - to nie jest problem.
Po przywróceniu połączenia możesz kontynuować od miejsca, w którym zakończyłeś, ponowne ponowne okno.
Możesz odłączyć się od bieżącej sesji, wykonując:
Ctrl+B D
Jeśli polecenie zakończy się powodzeniem, wyjdziesz z okien TMUX i do okna terminala, z jego wierszem polecenia. Przed monitem i powyżej, powinieneś zobaczyć coś takiego:
[Odłączony (od sesji 0)]Teraz, gdy jesteś w oknie terminalu, aby wyświetlić listę sesji, wpisz
Tmux lsi naciśnij Enter. Pierwsza kolumna listy zawiera nazwę sesji. W przypadku tego artykułu powinna być tylko jedna sesja z nazwą 0. Więc ponownie do sesji, wpisz
Tmux załącz -t 0i naciśnij Enter.
Zabijanie sesji
Z okna terminala możesz zabić sesję. Powinieneś zostać oderwany od sesji przed zabiciem. Składnia zabicia sesji z okna terminala jest:
Tmux Kill -session -t Nazwa sesji
Dzielenie okien
Dzielenie pionowo
Aby podzielić bieżące okno w pionie, zrób
Ctrl+B %
Jeśli używasz klawiatury angielskiej, będziesz musiał nacisnąć klawisz Shift i klawisz, który ma % na uzyskanie %. Gdybyś to zrobił, miałbyś pionową linię na środku okna.
Aby przejść do następnego panelu, zrób
ctrl+b o
Gdzie O nie jest zero, jest to postać alfabetu, o. Ruch jest cykliczny. Pod tym warunkiem jest to jedno okno, które zostało podzielone na doliny. Inne okna nie mają paneli. W oknie z panewami polecenia można wpisać w każdej z patelni.
Zabijanie puszu
Zabić panele z jego poleceniami, podczas gdy kursor jest w panelu, zrób to
Ctrl+B x
Gdzie x jest małymi literami x, odpowiedz na każde zadane pytanie. Panel umiera z jego poleceniami. Polecenia nie łączą poleceń żadnego innego panelu.
Dzielenie poziomo
Aby podzielić bieżące okno poziomo, zrób
Ctrl+B ”
Jeśli używasz klawiatury angielskiej, będziesz musiał nacisnąć klawisz Shift i klawisz, który ma „, aby uzyskać”.
Aby przejść do następnego panelu, zrób
ctrl+b o
Gdzie O nie jest zero, jest to postać alfabetu, o. Ruch jest cykliczny.
Zabijasz poziomą panel w taki sam sposób, jak zabijasz pionowy panel.
Wniosek
TMUX to aplikacja, która umożliwia użytkownikowi Linux posiadanie sesji terminalu Windows w jednym oknie. Każde okno można podzielić na doliny. Domyślną kombinacją klawiszy dla Tmux jest Ctrl+B. Następnie należy nacisnąć kolejną postać, aby uzyskać efekt. Ze wszystkimi swoimi funkcjami, TMUX jest multiplekserem terminalu Windows Manager. Tmux ma rywal o nazwie ekran. Multipleksowanie tutaj oznacza posiadanie wszystkich okien dla procesów w jednym ramce okna.
Chrys