Existuje něco lepšího než vřele blikající linuxový terminál?
Jistě existuje:dva vřele blikající linuxové terminály. Ve skutečnosti čím více, tím lépe.
Kdysi byly terminály fyzickými zařízeními, ale dnes jsou samozřejmě pouze emulované jako aplikace ve vašem počítači. Pokud dáváte přednost terminálu jako svému rozhraní, pravděpodobně víte, že jeden terminál málokdy stačí. Nevyhnutelně se chystáte otevřít nový terminál nebo novou kartu, abyste v nich mohli pracovat, zatímco váš první bude zaneprázdněn kompilací nebo převodem nebo jiným zpracováním dat.
Pokud jste správce systému, pak víte, že budete potřebovat alespoň čtyři otevřená okna, zatímco budete pracovat na několika systémech současně.
Další zdroje pro Linux
- Cheat pro příkazy Linuxu
- Cheat sheet pro pokročilé příkazy systému Linux
- Bezplatný online kurz:Technický přehled RHEL
- Síťový cheat pro Linux
- Cheat sheet SELinux
- Cheat pro běžné příkazy pro Linux
- Co jsou kontejnery systému Linux?
- Naše nejnovější články o Linuxu
Terminálové aplikace s kartami existují na Linuxu již dlouhou dobu a naštěstí se zdá, že tento trend se uchytil tak, že jde o očekávanou vlastnost moderního terminálu. A přesto je někdy rušivé nebo nepohodlné listovat tam a zpět mezi kartami.
Jedinou odpovědí je rozdělená obrazovka, takže dva nebo více terminálů může existovat současně v rámci jednoho aplikačního okna. Ve vaší Linuxové sadě je mnoho nástrojů, které vám pomohou krájet a dělit vaše konzole.
Skořápky, terminály a konzoly
Než začnete krájet obrazovky, měli byste vědět, jaký je rozdíl mezi terminálem, shellem a „konzolí“. Chcete-li získat úplný obrázek, přečtěte si můj článek na toto téma na blogu Enable Sysadmin.
Krátká verze:
- Shell je vstupní a výstupní obrazovka s výzvou. Někde pod vaší pracovní plochou POSIX technicky běží shell, i když není vidět (protože je to shell, který spustil vaši uživatelskou relaci).
- Terminál je aplikace běžící na grafickém serveru (jako je X11 nebo Wayland) s načteným shellem. Terminál je spuštěn pouze tehdy, když máte spuštěno okno terminálu. Je to víceméně „portál“ do vaší ulity.
- „Konzola“ nebo „virtuální konzole“ je termín, který se obvykle používá k označení prostředí, které běží mimo vaši plochu. Do virtuální konzole se dostanete stisknutím Alt-Ctrl-F2 (více jsou obvykle dostupné pomocí F3 až F7 pomocí F1 nebo F7 představující vaši plochu v závislosti na vaší distribuci).
Některé aplikace vám umožňují rozdělit váš shell nebo konzoli, zatímco jiné vám umožňují rozdělit váš terminál.
tmux
Pravděpodobně nejflexibilnější a nejschopnější rozdělovač obrazovky, tmux je terminálový multiplexer zaměřený na klávesnici, což znamená, že můžete „vrstvit“ jednu konzoli na druhou a pak mezi nimi přepínat. Pohled konzoly můžete také rozdělit na polovinu (nebo na třetiny či čtvrtiny atd.), abyste vedle něj viděli další konzole.
Všechny ovládací prvky se soustředí kolem klávesnice, což znamená, že při hledání myši nikdy nemusíte sundávat ruku z kláves, ale také se musíte naučit některá nová kombinace klávesnice.
Pokud používáte tmux primárně k rozdělení obrazovky, pak jediné příkazy, které skutečně potřebujete, jsou tyto:
- Ctrl-B % pro vertikální dělení (jedna skořepina vlevo, jedna skořepina vpravo)
- Ctrl-B" pro horizontální rozdělení (jedna skořepina nahoře, jedna skořepina dole)
- Ctrl-B O aby byl druhý shell aktivní
- Ctrl-B ? o pomoc
- Ctrl-B d odpojit od Tmux a nechat jej běžet na pozadí (použijte tmux attachment znovu vstoupit)
Tmux má mnoho výhod, včetně možnosti spustit relaci tmux na jednom počítači a poté se ke stejné relaci připojit na dálku z jiného počítače. V podstatě démonizuje váš shell.
Například s tmux běžícím na Pi mohu zůstat trvale přihlášen k IRC – spustím tmux na Pi a pak se přihlásím z jakéhokoli počítače, na kterém se zrovna nacházím. Když se odhlásím, tmux pokračuje v běhu a trpělivě čeká, až se znovu připojím k relaci z jiného počítače.
Obrazovka GNU
Podobně jako tmux je GNU Screen multiplexer shellu. Můžete se odpojit a znovu připojit od běžící relace a můžete rozdělit obrazovku jak horizontálně, tak vertikálně.
Obrazovka je trochu neohrabanější než tmux. Jeho výchozí klávesová zkratka je Ctrl-A , což je také Bashova klávesová zkratka pro přechod na začátek řádku. To znamená, že pokud máte spuštěnou obrazovku, musíte stisknout Ctrl-A dvakrát místo jen jednou pro přechod na začátek řádku. Osobně předefinuji spouštěcí klávesu na Ctrl-J s tímto řádkem v $HOME/.screenrc :
escape ^jJ
Funkce rozdělení obrazovky funguje dobře, ale vynechává několik příjemných věcí, které tmux postrádá. Když například rozdělíte svůj shell, nový shell se na druhém panelu nespustí. Do jiného prostoru musíte přejít pomocí Ctrl-A Tab (nebo Ctrl-J pokud předefinujete svou klávesovou zkratku jako já) a vytvoříte nový shell ručně pomocí Ctrl-A C .
Na rozdíl od tmux rozdělení nezmizí, když opustíte shell, což je designová funkce, která je v některých případech docela pěkná, ale někdy může být těžkopádná, protože vás nutí spravovat rozdělení ručně.
Přesto je Screen spolehlivá a flexibilní aplikace, kterou můžete spustit, pokud zjistíte, že tmux je pro vás nedostupná.
Zde jsou základní příkazy rozdělení pomocí výchozích klávesových zkratek:
- Ctrl-A | pro vertikální dělení (jedna skořepina vlevo, jedna skořepina vpravo)
- Ctrl-A S pro horizontální rozdělení (jedna skořepina nahoře, jedna skořepina dole)
- Karta Ctrl-A aby byl druhý shell aktivní
- Ctrl-A ? o pomoc
- Ctrl-A d odpojit od obrazovky a nechat ji běžet na pozadí (použijte screen -r znovu vstoupit)
Konsole
Konsole je terminál přibalený k pracovní ploše KDE Plasma. Stejně jako samotné KDE je i Konsole známá tím, že je vysoce přizpůsobitelná a výkonná.
Mezi jeho mnoha funkcemi je schopnost rozdělit jeho okno, podobně jako u tmux a GNU Screen. Protože je Konsole grafický terminál, můžete jeho funkci rozdělené obrazovky ovládat pomocí myši místo klávesnice.
Rozdělení se nachází v Zobrazení menu Konsole. Okno můžete rozdělit vodorovně nebo svisle. Chcete-li změnit, který panel je aktivní, stačí na něj kliknout. Každý panel je jedinečný terminál, takže může mít své vlastní téma a karty.
Na rozdíl od tmux a GNU Screen se nemůžete odpojit a znovu připojit od Konsole. Jako většinu grafických aplikací používáte Konsole, když jste fyzicky před ní, a ztratíte k ní přístup, když jste pryč (pokud nepoužíváte software pro vzdálenou plochu).
Emacs
Emacs není přesně terminálový multiplexer, ale jeho rozhraní podporuje rozdělení a změnu velikosti a má vestavěný terminál.
Pokud stejně používáte Emacs denně, možnost rozdělit okno mezi v podstatě různé aplikace znamená, že už nikdy nebudete muset opustit známost a pohodlí svého oblíbeného textového editoru. Navíc, protože Emacs eshell modul je implementován v eLISPu, můžete s ním pracovat pomocí stejných příkazů, jaké používáte v samotném Emacsu, takže je triviální kopírovat a trhat dlouhé cesty k souborům nebo výstup příkazů.
Pokud používáte Emacs v grafickém okně, můžete některé akce provádět pomocí myši. Je rychlejší používat klávesové zkratky a některé jsou víceméně nutné. Kliknutím do něj můžete například změnit, který panel je aktivní, a pomocí myši můžete změnit velikost proporcí rozdělené obrazovky.
Toto jsou důležité klávesové zkratky:
- Ctrl-X 3 pro vertikální dělení (jedna skořepina vlevo, jedna skořepina vpravo)
- Ctrl-X 2 pro horizontální rozdělení (jedna skořepina nahoře, jedna skořepina dole)
- Ctrl-X O aby byl druhý shell aktivní (můžete to udělat také pomocí myši)
- Ctrl-X 0 (to je nula) zavře aktuální panel
Podobně jako u tmux a GNU Screen se můžete odpojit a znovu připojit od Emacsu, pokud používáte emacs-client .
Správce oken
Pokud si myslíte, že textový editor, který dokáže rozdělit obrazovku a načíst terminál, je úžasný, představte si, že váš desktop slouží stejnému účelu. Existují linuxové desktopy, jako je Ratpoison, Herbsluftwm, i3, Awesome a dokonce i KDE Plasma desktop se specifickými nastaveními, které vám představují každé okno aplikace jako pevnou dlaždici v mřížce plochy.
Namísto toho, aby se okna vznášela „nad“ pracovní plochou, zůstávají na předvídatelném místě, takže z jednoho můžete přecházet na druhé. Můžete otevřít libovolný počet terminálů ve vaší síti a emulovat terminálový multiplexer. Ve skutečnosti můžete dokonce nahrát terminálový multiplexer do svého stolního multiplexeru.
A nic vám nebrání načíst Emacs s rozdělenými buffery uvnitř. Nikdo neví, co se stane, když to vezmete dále, a většina uživatelů Linuxu souhlasí s tím, že je nejlepší to nezjišťovat.
Na rozdíl od tmux a GNU Screen se nemůžete odpojit a znovu připojit od vaší plochy, pokud nepočítáte pomocí softwaru pro vzdálenou plochu.
Další možnosti
Věřte tomu nebo ne, toto nejsou jediné možnosti, jak rozdělit obrazovku v Linuxu. Existují další emulátory terminálu, jako jsou Tilix a Terminator před ním, které se mohou rozdělit na sekce a aplikace s vestavěnými terminálovými komponentami a mnohem více. Sdělte nám svůj oblíbený způsob rozdělení pracovního prostoru v komentářích.