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
tmuxsession a pak mít SSH této druhé osoby do vašeho systému a připojit se k tomutotmuxrelace.
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.