Před verzí Red Hat Enterprise Linux 8 screen
byl zahrnut příkaz. Ve verzi 8 bylo rozhodnuto o ukončení podpory screen
a použijte tmux
namísto. tmux
je terminálový multiplexer, což znamená, že můžete mít spuštěný proces, odpojit se od systému a poté se znovu připojit později a z jiného počítače, abyste mohli v tomto procesu pokračovat. Snadný způsob, jak to demonstrovat, je použít SSH na vzdálený systém, spustit tmux
a pak zevnitř spusťte ping
příkaz vzdálenému systému, odpojte se od tmux
, pokračujte v tmux
a uvidíte, že ping
stále jde. Některé z běžných případů použití jsou:
- Pokud máte dlouho běžící proces, jako je upgrade aplikace, a buď nechcete nechat relaci ssh spuštěnou po celou dobu, nebo se obáváte, že by mohlo dojít k výpadku připojení k síti. li>
- Pokud máte spuštěno více relací, můžete pro různé relace použít štítky.
- Pokud chcete, aby někdo jiný viděl, co děláte, můžete spustit
tmux
session a pak mít SSH této druhé osoby do vašeho systému a připojit se k tomutotmux
relace.
Chcete-li zahájit základní relaci, stačí spustit tmux
příkaz. Tím se dostanete do tmux
relaci a budete moci spouštět příkazy a dělat věci stejně jako normálně jako váš uživatel. Chcete-li se odpojit od relace, ale přesto ji nechat spuštěnou, stiskněte Ctrl+B a poté D . Pro obnovení relace mohu spustit:
$ tmux ls ### to see if there are any other tmux sessions
$ tmux a ### this will connect to the most recent session that was created.
Pokud existuje více relací, můžete se připojit podle čísla relace:
[root@opendemo ~]# tmux ls
0: 1 windows (created Thu Jan 28 19:58:27 2021) [103x22]
1: 1 windows (created Thu Jan 28 20:00:54 2021) [103x22]
2: 1 windows (created Thu Jan 28 20:01:08 2021) [103x22]
3: 1 windows (created Thu Jan 28 20:01:39 2021) [103x22]
[root@opendemo ~]# tmux a -t 1
[detached]
[root@opendemo ~]#
Příkladem toho, jak to používám, je, že úplně posledním příkazem mého osobního spouštěcího skriptu, který se připojuje k VPN a dělá další věci, je spuštění:
# /usr/bin/ssh -t shell-el7.redhat.com tmux attach
To mě připojí pomocí SSH k tomuto vzdálenému serveru a poté se připojí k mému tmux
relace, o které vím, že tam je s irssi
běh. Informace o používání irssi
, viz můj článek Používání Irssi v linuxové tmux relaci.
[ Také by se vám mohlo líbit: Buildování pomocí Buildah:Dockerfiles, příkazový řádek nebo skripty ]
Druhý příklad použití výše byl pro označení různých relací. Nyní, když jsme si prošli některé základy používání tmux
, podívejme se na příklad použití štítků:
[root@opendemo ~]# tmux new -s "database upgrade"
[detached]
[root@opendemo ~]# tmux new -s "other process"
[detached]
[root@opendemo ~]# tmux ls
database upgrade: 1 windows (created Thu Jan 28 19:50:03 2021) [103x22]
other process: 1 windows (created Thu Jan 28 19:50:23 2021) [103x22]
[root@opendemo ~]# tmux attach -t "database upgrade"
[detached]
[root@opendemo ~]#
Můžete si všimnout, že pokud máte text, který se posouvá za horní část obrazovky, nemůžete jednoduše kliknout na Page Up klíč k zobrazení.
Abyste mohli používat kurzorové klávesy v tmux
abyste se mohli vrátit zpět do vyrovnávací paměti, stiskněte Ctrl+B a poté [ klíč. V tomto okamžiku budete moci použít šipku klávesy Page Up nebo O stránku dolů pro pohyb ve výstupu na obrazovce.
Pokud chcete rozdělit tmux
relaci do různých podoken, můžete relaci rozdělit vertikálně pomocí Ctrl+B a poté % . Chcete-li panel vodorovně rozdělit, použijte Ctrl+B a poté jednu dvojitou uvozovku “ . Na níže uvedeném snímku obrazovky jsem nejprve rozdělil relaci vertikálně a poté jsem rozdělil pravý panel vodorovně.

Chcete-li přesunout kurzor z jednoho panelu do druhého, použijte Ctrl+B a poté podle kterékoli šipky pro pohyb tímto směrem.
Chcete-li ukončit relaci, aniž byste se k ní připojili, zadejte exit
, použijete kill-session
a poté zadejte relaci, která má být ukončena:

Existuje více možností pro tmux
a lze je zobrazit pomocí Ctrl+B a poté ? :

[ Naučte se základy používání Kubernetes v tomto bezplatném cheatu. ]
Další informace lze nalézt v manuálové stránce tmux
. Tento článek poskytuje rychlý úvod do používání tmux
příkaz, aby odpojená vzdálená relace neskončila náhodným zabitím procesu. Další program, který je podobný tmux
je screen
a můžete si přečíst o screen
v tomto článku.