Как да използвате tmux на Linux (и защо е по-добър от екрана)
fatmawati achmad zaenuri/Shutterstock.com
Linux |_+_| командата е терминален мултиплексор, като |_+_|. Неговите защитници са много и гласови, затова решихме да сравним двете. Е |_+_| наистина по-добре или просто предпочитате това, което знаете?
tmux срещу екран
И двете |_+_| и GNU |_+_| команди са терминални мултиплексори . Те ви позволяват да имате няколко прозореца в рамките на един прозорец на терминала и да прескачате напред-назад между тях. Прозорецът може да бъде разделен на панели, всеки от които ви дава независим команден ред.
СВЪРЗАНИ 10 основни Linux команди за начинаещи
Можете също да отделите сесия и тя да се превърне в обект без глава, работещ на заден план - можете дори да затворите прозореца на терминала, който го е стартирал. Когато сте готови, можете да отворите нов прозорец на терминала и да прикачите отново все още работещата сесия. Можете също да направите това отново SSH връзка .
Можете да отделите сесия на един компютър, да се приберете вкъщи и да влезете в отдалечения компютър. Когато се свържете отново, можете да свържете отново фоновата сесия и да я използвате интерактивно отново.
Каква е командата на екрана?
|_+_| командата също е терминален мултиплексор и е пълна с опции. За да разберете всичко, което можете да направите с него, разгледайте нашата задълбочена статия .
РекламаТози път ще го направим концентрирайте се върху |_+_| . Докато продължаваме, ще споменем как |_+_| обработва същата функция или функция.
Само едно нещо ни дразнеше за |_+_|. Ще покрием това, когато стигнем до него, и ще видим дали |_+_| върви по-добре.
СВЪРЗАНИ: Как да използвате екранната команда на Linux
Инсталиране на tmux
Докато |_+_| обикновено се инсталира по подразбиране в популярни Linux дистрибуции, |_+_| не е За да инсталирате |_+_| в Ubuntu, въведете следното:
tmux
На Manjaro можете да използвате |_+_|:
screen
На Fedora 31, |_+_| вече е инсталиран.
Стартиране на tmux сесия
За да започнете |_+_|, просто го въведете и натиснете Enter:
tmux
Прозорецът на терминала ще покаже лента на състоянието, когато сте в |_+_| сесия.
Дясната страна на лентата на състоянието показва името на хоста, часа и датата. Лявата страна показва следната информация, свързана с сесията:
- & rsaquo; Кибер понеделник 2021: Най-добрите оферти за Apple
- & rsaquo; Кибер понеделник 2021: Най-добрите технологични сделки
- › Как да намерите своя Spotify Wrapped 2021
- › 5 уебсайта, които всеки потребител на Linux трябва да направи отметка
- › Компютърната папка е 40: Как Xerox Star създаде работния плот
- › Функции срещу формули в Microsoft Excel: Каква е разликата?
|_+_| командата не ви дава лента на състоянието по подразбиране. Трябва да летите на сляпо и да разчитате на разума си, за да разберете какво се случва, което изисква малко практика. (Освен ако вие конфигурирайте своя собствена лента на състоянието .)
Положителната страна е, че няма да загубите редица недвижими имоти с прозорец на терминала. Разбира се, обикновено ще разширите прозореца на терминала, за да си струва използването на терминален мултиплексор. В този случай загубата на един ред за лентата на състоянието не е голям проблем. Тук сме оставили изображенията на прозорците на терминала с размер по подразбиране, за да можете да видите информацията.
РекламаДават се команди на |_+_| използвайки натискания на клавиши, и това има две части. Първо, натиснете Ctrl+B, за да привлечете вниманието на |_+_|. След това бързо натискате следващия клавиш, за да изпратите команда до|_+_|. Командите се подават чрез натискане на букви, цифри, препинателни знаци или клавиши със стрелки.
Същото е и в |_+_|, освен че натиснете Ctrl+A, за да привлечете вниманието му.
За да затворите прозореца, натиснете Ctrl+B и след това бързо натиснете X. Лентата на състоянието става кехлибарена. След това ще бъдете подканени да потвърдите, че искате да убиете прозореца.
Натиснете Y, за да затворите прозореца, или N, ако промените решението си. Не е нужно да натискате Enter след това; Y или N са достатъчни, за да регистрирате своя избор.
Ако натиснете Y, прозорецът се затваря. Тъй като това е единственият прозорец в тази сесия, сесията се прекратява.
|_+_| сесията е затворена и вие се връщате към командния ред, от който сте стартирали |_+_|. Ще видите [exited] в прозореца на терминала.
РекламаТова може да изглежда, че посочва очевидното, но това е потвърждение, че сте затворили сесията и не сте я оставили отделена и работеща. Ще обсъдим отделните сесии по-долу.
Стартиране на именувана tmux сесия
Ако редовно стартирате няколко |_+_| сесии, бързо ще оцените функционалността да дадете на всяка от тях смислено име. Можете също да наименувате сесии в |_+_|, но те не се показват никъде в прозорците на сесиите.
За да започнете |_+_| с име на сесия, използвайте |_+_| (нова сесия) и командата |_+_| опция (име на сесията). Нашата сесия ще се нарича geek-1, така че въвеждаме следното:
tmux
Когато |_+_| сесията се зарежда, geek-1 се показва като първи запис в лентата на състоянието, най-вляво.
Добавяне на още Windows
За да създадете нов прозорец в текущата сесия, натиснете Ctrl+B и след това C. Ще получите празен прозорец на терминала в текущата сесия. Така че ще имаме нещо, което работи в този нов прозорец, нека започнем |_+_| команда с |_+_| (следвайте) опция:
screen
Сега имаме два прозореца в сесията; единият работи |_+_|, а другият |_+_|. Можем обаче да видим само един по един (повече за това след малко).
Реклама
Погледнете лявата страна на лентата на състоянието. Все още сме в geek-1 |_+_| сесия. В прозорец нула горната част се изпълнява, а в прозорец едно, |_+_| бяга. Звездичката (*) след |_+_| ни казва кой прозорец се вижда.
За да прескачате между прозорците, натиснете Ctrl+B и след това един от следните клавиши:
Можете също да изберете прозорец от списък. Ако натиснете Ctrl+B и след това W, се появява списък с прозорци.
За да преместите кехлибарената лента за осветяване, натиснете стрелките нагоре или надолу, Начало или Край. Долната част на дисплея показва предварителен преглед на съдържанието в маркирания прозорец.
Натиснете Enter, за да преминете към маркирания прозорец, или Esc, за да напуснете списъка с прозорци, без да превключвате.
Отделяне и прикачване на сесии
Ако натиснете Ctrl+B и след това D, ще отделите сесията. Той ще продължи да работи на заден план, но няма да можете да го виждате или да взаимодействате с него.
РекламаЗапочнахме |_+_| в сесията, така че имаме работещ процес, с който да демонстрираме. След това натискаме Ctrl+B и след това D. Сесията изчезва и се превръща във фонова сесия.
Връщаме се към оригиналния прозорец на терминала. Има съобщение от |_+_| ни казва, че сесията е отделена. Това също ни напомня за името, което дадохме на сесията. Това е удобно, защото това е, което използваме, за да прикачим към фонова сесия и след това да я възстановим в интерактивна.
За да прикачите отделна сесия, ще използваме разбираемия |_+_| команда с |_+_| опция (целева сесия). Ще предоставим и името на сесията, която искаме да си припомним.
Пишем следното:
screen
Нашата сесия се връща и отново става видима интерактивна сесия.
Всички продължителни или непрекъснати процеси, които сте стартирали преди отделянето на сесията, ще продължат да работят на заден план (освен ако не са приключили), когато прикачите сесията.
|_+_| може да направи това, но не толкова интуитивно.
Обработване на множество сесии
Нека отворим друг прозорец на терминала и стартираме нов |_+_| сесия, наречена geek-2:
tmux
В тази сесия ще започнем |_+_|:
screen
Реклама
Сега имаме нашия оригинален geek-1 |_+_| сесия и нова, наречена geek-2.
Лентата на състоянието ни показва, че тази сесия се нарича geek-2 и има един прозорец, който изпълнява |_+_|.
Ако натиснете Ctrl+B и след това D, ще отделим тази сесия.
Обратно в отрепката-1 |_+_| сесия, натискаме Ctrl+B и след това S, за да видим списък с |_+_| сесии.
За да бъде ясно, това е списък със сесиите. Подобният дисплей, който видяхме по-рано, беше списък с прозорци в една сесия.
Можете да преместите кехлибарената лента за осветяване, като натиснете стрелките нагоре и надолу, Начало и Край. Долната секция показва визуализация на съдържанието в маркираната сесия.
Реклама
Ако натиснете стрелката надясно, се показват прозорците за маркираната сесия.
Натиснете Enter, за да преминете към маркираната сесия или прозорец, или Esc, за да напуснете списъка със сесии, без да променяте сесиите. Ако изберете нова сесия, текущата ви се отделя и избраната от вас се прикачва.
Отделихме сесията geek-2, преди да направим това. Можете обаче да направите това със сесии, които все още са прикачени към оригиналните им терминални прозорци. Когато го направите, всички промени на екрана ще се появят едновременно и в двете |_+_| сесии.
|_+_| командата може да направи и това чрез подобен набор от команди.
Работа с прозорци
Ако натиснете Ctrl+B и след това двойни кавички (), ще разделите прозореца хоризонтално на два панела.
Това засяга само текущия прозорец; останалите в сесията няма да бъдат променени. Използвахме |_+_| команда в горния панел, за да изброите прозорците в тази сесия. Има две и редът на състоянието ни казва, че сме в прозорец едно. Ако прескочим до прозорец нула чрез натискане на Ctrl+B и след това 0 (нула), виждаме, че е точно както го оставихме.
РекламаТова са два независими командни реда, а не два изгледа в един прозорец; те са отделни и отделни черупки. Можем да покажем това, като изпълним различна команда във всеки панел.
Пишем следното:
screen
tmux
За да преминете от един панел към друг, натиснете Ctrl+B и след това или стрелката нагоре, надолу, наляво или надясно.
Ако натиснете Ctrl+B и след това знака за процент (|_+_| разделя текущия панел вертикално.
Натиснете Ctrl+B и след това Q, за да направите |_+_| мига за кратко номера на всеки панел.
Тези числа се използват в подкани и съобщения от |_+_|. Натиснете Ctrl+B и след това X, за да затворите текущия прозорец. Лентата на състоянието се променя на кехлибарена и ще бъдете подканени да потвърдите, че искате да затворите този номер на панела. Натиснете Y, за да премахнете панела, или N, за да оставите нещата както са.
Ако натиснете Y, панелът се премахва.
Реклама
|_+_| командата също има панели, но, отново, те са по-малко интуитивни за използване. Нещото, което ни дразни за |_+_| е, ако отделите сесия с панели, те изчезват, когато прикачите отново тази сесия. Това остарява много бързо.
A Ctrl+B Cheat Sheet
Включихме измамник на различните команди, които можете да използвате в |_+_| По-долу.
Команди за сесия
Команди на прозореца
Команди на панела
Как се сравняват
По отношение на функционалността |_+_| и |_+_| и двете работят по сходен начин и предлагат едни и същи основни характеристики. Това е начинът, по който имате достъп до тези функции, който е значително различен. |_+_| предлага по-плъзгащи и по-удобни начини за достигане до различните функции. Това обаче не е единствената разлика.
Възможността за преименуване на сесии и прозорци в |_+_| е чист и фактът, че запазва стъклата, когато прикачите отново сесия, променя играта.
|_+_|, от друга страна, напълно губи панелите, когато отделите и прикачите отново сесия. Това е почти достатъчно досадно, за да ви накара да избегнете отделянето на първо място.
Има много повече за |_+_|, включително неговите невероятно гъвкави възможности за скриптиране. Дължиш на себе си да го провериш.
СВЪРЗАНИ: Най-добрите Linux лаптопи за разработчици и ентусиасти
ПРОЧЕТЕТЕ СЛЕДВАЩОДейв Маккей за първи път използва компютри, когато перфорираната хартиена лента беше на мода и оттогава той програмира. След повече от 30 години в ИТ индустрията, той вече е технологичен журналист на пълен работен ден. По време на кариерата си той е работил като програмист на свободна практика, мениджър на международен екип за разработка на софтуер, ръководител на проекти за ИТ услуги и, последно, като служител по защита на данните. Неговото писане е публикувано от howtogeek.com, cloudsavvyit.com, tenterpriser.com и opensource.com. Дейв е евангелист на Linux и привърженик на отворен код.
Прочетете пълната биография