🪟 Tmux - nasz nowy terminal multiplexer

:window: Tmux - nasz nowy terminal multiplexer

Kiedyś opisywaliśmy polecenie screen

screen jest od lat używany do zarządzania wirtualnymi konsolami. Okazuje się, że od jakiegoś czasu screen ma godnego następce który się nazywa tmux (skrót od terminal multiplexer).

Podobnie jak screen, tmux pozwala nam ponownie się połączyć do utraconej sesji ssh, co może pomóc w zarządzaniu długo trwającymi skryptami. Dodatkowo możemy skorzystać z opcji podziału okna na kilka terminali i zarządzać na ekranie jednocześnie.

W nowej wersji Paweł (właśnie wydana na ALFA) tmux będzie naszym domyślnym terminalem.
Co nam to daje:

1. Możemy odświeżać przeglądarkę

Poniważ nasza konsola będzie działała w sesji tmux o nazwie ais możemy uruchomić w niej skrypt który trwa długo, możemy odświeżyć okno przeglądarki a i tak podłączymy się do tej samej sesji i będziemy mieli jej stan :tada:
Czyli dla długo działających poleceń nie musimy już odpalać natywnego klienta ssh ani polecenia screen.

2. Możemy dołączyć do sesji ais innym klientem

To co się pisze w sesji tmux pojawia się na wszystkich klientach - możemy skryptem instalacyjnym połączyć się do sesji tmux i logować na konsole postęp instalacji.

ssh ais-dom
tmux attach-session -t ais

i w natywnej konsoli po ssh mamy ten sam obraz co w konsoli webowej i odwrotnie

3. Możemy skorzystać z opcji podziału okna na kilka terminali

Wreszcie bez potrzeby otwierania przeglądarki w kilku oknach możemy jednoczeście uruchamiać skrypt instalacyjny i śledzić logi

4. Skróty klawiszowe

Aby skorzystać z jakiegoś skrótu, najpierw musimy użyć kombinacji Ctrl + B a następnie wprowadzamy dany skrót klawiszowy.

Podstawowe skróty wpisywane po koattach-sessionmbinacji ctrl + B
” – Dzielenie terminala poziomo.
% – Dzielenie terminala pionowo.
↓↑→← – Strzałkami poruszamy się po utworzonych oknach.
↓↑→← – Przytrzymując kombinację Ctrl + B dostosowujemy rozmiar okna.
p – Przełącza nas na poprzednie okno
n – Przełącza nas na następne okno
c – Tworzy nowe okno
t – Zegar

wklejanie i kopiowanie, Ctrl-c Ctrl-v, działa z przytrzymanym klawiszem Shift

5. Konfiguracja

plik konfiguracyjny dostępny jest w lokalizacji:

/data/data/com.termux/files/usr/etc/tmux.conf

można np. dodać klasyczne Ctrl-c i Ctrl-v, wystarczy w tym pliku wpisać:

bind C-c run "tmux save-buffer - | xclip -i -sel clip"
bind C-v run "tmux set-buffer $(xclip -o -sel clip); tmux paste-buffer"

w sieci jest mnóstwo poradników jak dostosować tmux za pomocą pliku tmux.confdo własnych potrzeb.

Miłego używania tmux :slight_smile:

5 polubień

Tak przeglądam możliwości tmux i chyba czas zaopatrzyć się w drugi ekran monitora tylko dla tego wspaniałego narzędzia.

Cześć wszystkim.
Tego jeszcze nie grali… U mnie po aktualizacji do wersji 2023.9.0b5 terminal multiplexer zamarł…
Otóż po uruchomieniu konsoli na porcie 8888 widać:

image

ale nie przyjmuje żadnego polecenia, nie reaguje na Enter… Miał ktoś coś takiego?
Jest szansa jakoś uruchomić konsolę. Jak podłączę monitor do bramki to do konsoli dostaję się bez problemu i wszystko działa jak należy. Zaktualizowałem drugą bramkę i tam wszystko działa jak należy. Pomożecie?

Na początek wyczyść cache przeglądarki.

Dziękuję @Cezary.K za szybką odpowiedź, ale cache przeglądarki mam wyłączony na stałe.

Mam identyczny problem.Po pierwszym poleceniu terminal nie reaguje.

Nikt nie jest w stanie pomóc? Może przeinstalować multiplexer? Może @Celina będzie w stanie coś poradzić? Proszę o pomoc.

Na tym forum pomoc to graniczy z cudem. Pisalem tez wielokrotnie czy mozna jakos uruchomic wewnetrzny glosnik i kamere ps3 i cisza jak makiem zasiał. Powoli forum umiera

Hej
chwilę to trwało, ale sprawdziliśmy to… okazało się, że to problem z programie ttyd

zgłoszenie jest, na tą chwilę w ramach obejścia trzeba korzystać z połączenia ssh.

to nie będzie teraz działało. Możliwe, że za jakiś czas to dodamy.

1 polubienie

@Maniek @Robert1
Właśnie znaleźliśmy obejście :wink:
żeby zadziałało, to trzeba połączyć się z bramką po ssh i wykonać taką komendę

pm2 delete webssh

a następnie

pm2 start ttyd --name webssh --output NULL --error NULL --restart-delay=30000 -- -p 8888 -W -t enableTrzsz=true tmux -u new -A -s ais bash -l

dodamy to w kolejnej wersji :slight_smile:

1 polubienie

Bardzo dziękuję, jak zawsze @Celina stanęła na wysokości zadania. Konsola znowu działa.
Pozdrawiam.

3 polubienia