Како користити тмук на Линуку (и зашто је бољи од екрана)

Линук команда тмук је терминалски мултиплексер, попут екрана. Његови заговорници су бројни и гласни, па смо одлучили да их упоредимо. Да ли је тмук заиста бољи, или је то само случај да преферирате оно што знате?

Преглед садржаја

тмук у односу на екран

И тмук и ГНУ екранске команде су терминални мултиплексори. Они вам омогућавају да имате више прозора унутар једног прозора терминала и да скачете између њих. Прозор се може поделити на окна, од којих вам свако даје независну командну линију.

Такође можете да одвојите сесију и она постаје ентитет без главе који ради у позадини—можете чак и да затворите прозор терминала који ју је покренуо. Када будете спремни, можете отворити нови прозор терминала и поново спојити сесију која је још увек у току. То можете урадити и преко ССХ везе.

Можете одвојити сесију на једном рачунару, отићи кући и пријавити се на удаљени рачунар. Када се поново повежете, можете поново да повежете позадинску сесију и поново је користите интерактивно.

Шта је команда на екрану?

Команда екрана је такође терминалски мултиплексер и препуна је опција. За кратак опис свега што можете да урадите са њим, погледајте наш детаљни чланак.

Овог пута ћемо концентрисати се на тмук. Како идемо даље, поменућемо како екран управља истом функцијом или функцијом.

Само једна ствар нас је изнервирала у вези са екраном. Покрићемо то када дођемо до тога и видети да ли ће тмук бити бољи.

Инсталирање тмук-а

Док је сцреен генерално подразумевано инсталиран на популарним Линук дистрибуцијама, тмук није. Да бисте инсталирали тмук на Убунту, откуцајте следеће:

sudo apt-get install tmux

На Мањаро-у можете користити пацман:

sudo pacman -Sy tmux

На Федора 31, тмук је већ инсталиран.

Покретање тмук сесије

Да бисте покренули тмук, само га откуцајте и притисните Ентер:

tmux

Прозор терминала ће приказати статусну траку када сте у тмук сесији.

  Поуздани ресурси за успех на мрежи

Десна страна статусне траке приказује име хоста, време и датум. На левој страни су приказане следеће информације у вези са сесијом:

[0]: Ово је назив сесије. Подразумевано, они су нумерисани, почевши од нуле. У наставку објашњавамо како можете дати смислена имена сесијама.
0:басх*: 0 означава да је ово први прозор у овој сесији. Једини процес који се покреће у овој сесији је басх. Ако покренете програм, његово име ће се појавити овде. Звездица

значи да је ово прозор у који гледате. Сваки пут када креирате нови прозор у тмук сесији, његов број прозора и име програма који се у њему покреће се додају у статусну траку.

Команда екрана вам не даје статусну траку. Морате слепити и ослонити се на своју памет да бисте знали шта се дешава, за шта је потребно мало вежбе.

Са позитивне стране, нећете изгубити низ некретнина на прозорима терминала. Наравно, обично бисте проширили свој терминалски прозор да би употреба терминалног мултиплексора била исплатива. У том случају, губитак једне линије за статусну траку није велики проблем. Овде смо оставили слике прозора терминала у подразумеваној величини тако да можете да видите информације.

Команде се тмук-у дају притиском на тастере, а то има два дела. Прво, притиснете Цтрл+Б да бисте привукли тмук-ову пажњу. Затим брзо притиснете следећи тастер да пошаљете команду тотмук. Команде се дају притиском на слова, бројеве, знакове интерпункције или тастере са стрелицама.

Исто је и на екрану, осим што притиснете Цтрл+А да бисте привукли његову пажњу.

Да бисте затворили прозор, притисните Цтрл+Б, а затим брзо притисните Кс. Статусна трака постаје жута. Затим се од вас тражи да потврдите да желите да убијете прозор.

Притисните И да затворите прозор или Н ако се предомислите. Не морате да притиснете Ентер после; И или Н је довољно да региструјете свој избор.

Ако притиснете И, прозор се затвара. Пошто је ово једини прозор у овој сесији, сесија се прекида.[exited]тмук сесија је затворена и ви сте враћени на командну линију са које сте покренули тмук. Видећете „

” у прозору терминала.

Ово може изгледати као да наводи очигледно, али то је потврда да сте затворили сесију и да је нисте оставили одвојену и покренуту. У наставку ћемо разговарати о сесијама одвајања.

Покретање именоване тмук сесије

Ако редовно покрећете више тмук сесија, брзо ћете ценити функционалност давања сваком од њих смислено име. Можете именовати сесије и на екрану, али оне се не приказују нигде у прозорима сесије.

tmux new -s geek-1

Да бисте покренули тмук са именом сесије, користите команду нев (нова сесија) и опцију -с (име сесије). Наша сесија ће се звати „штребер-1“, па укуцавамо следеће:

Када се тмук сесија учита, „геек-1“ се приказује као први унос у статусној траци, крајње лево.

Тмук сесија са именом

Додавање више Виндовс-а Да бисте креирали нови прозор у тренутној сесији, притисните Цтрл+Б, а затим Ц. Добићете празан прозор терминала у тренутној сесији. Дакле, имаћемо нешто да ради у овом новом прозору, хајде да почнемо дмесг цомманд

dmesg -w

са опцијом -в (фоллов):

  Танки обележивачи вам омогућавају да прилагодите траку обележивача [Firefox]

Сада имамо два прозора у сесији; један је трчање на врху, а други дмесг. Међутим, можемо видети само једног по једног (више о томе за тренутак).

Погледајте леву страну статусне траке. Још увек смо у „геек-1“ тмук сесији. У нултом прозору, топ је покренут, ау прозору један, дмесг је покренут. Звездица

након што нам дмесг каже који прозор је видљив.
Да бисте прелазили између прозора, притисните Цтрл+Б, а затим један од следећих тастера:
Н: Прикажите следећи прозор.

П: Прикажи претходни прозор.

0 до 9: Прикажите прозор са бројевима од 0 до 9.

Такође можете изабрати прозор са листе. Ако притиснете Цтрл+Б, а затим В, појављује се листа прозора.

Да бисте померили жуту траку за истицање, притисните стрелицу нагоре или надоле, Почетна или Крај. Доњи део екрана приказује преглед садржаја у истакнутом прозору.

Притисните Ентер да бисте прешли на означени прозор или Есц да бисте напустили листу прозора без пребацивања.

Одвајање и причвршћивање сесија

Ако притиснете Цтрл+Б, а затим Д, одвојићете сесију. Наставиће да ради у позадини, али нећете моћи да га видите нити да комуницирате са њим.

Почели смо на врху у сесији, тако да имамо текући процес за демонстрацију. Затим, притиснемо Цтрл+Б, а затим Д. Сесија нестаје и постаје позадинска сесија.

Враћамо се на оригинални прозор терминала. Постоји порука од тмук-а која нам говори да је сесија одвојена. То нас подсећа и на име које смо дали седници. Ово је згодно јер то користимо да прикачимо сесију у позадини, а затим је вратимо у интерактивну.

tmux attach-session -t geek-1

Да бисмо приложили одвојену сесију, користићемо самообјашњавајућу команду аттацх-сессион са опцијом -т (циљна сесија). Такође ћемо дати назив сесије коју желимо да се сетимо.

Укуцавамо следеће:

Наша сесија се враћа и поново постаје видљива, интерактивна сесија.

Сви дуготрајни или континуирани процеси које сте покренули пре одвајања сесије ће и даље бити покренути у позадини (осим ако нису завршени) када приложите сесију.

екран то може да уради, али не тако интуитивно.

tmux new -s geek-2

Руковање вишеструким сесијама

dmesg -w

Хајде да отворимо други прозор терминала и започнемо нову тмук сесију под називом „геек-2“:

У тој сесији ћемо покренути дмесг:

Сада имамо нашу оригиналну „геек-1“ тмук сесију и нову под називом „геек-2“.

Статусна трака нам показује да се ова сесија зове „геек-2“ и има један прозор који покреће дмесг.

Ако притиснемо Цтрл+Б, а затим Д, одвајамо ту сесију.

Назад у „геек-1“ тмук сесији, притиснемо Цтрл+Б, а затим С да видимо листу тмук сесија.

Да будемо јасни, ово је листа сесија. Сличан приказ који смо видели раније је била листа прозора у једној сесији.

Можете померити жуту траку за истицање притиском на стрелице нагоре и надоле, Хоме и Енд. Доњи део приказује преглед садржаја у истакнутој сесији.

  Учитајте везе у позадини и наставите да користите друге апликације [Android]

Ако притиснете стрелицу надесно, приказују се прозори за означену сесију.

Притисните Ентер да бисте прешли на означену сесију или прозор или Есц да бисте напустили листу сесија без промене сесија. Ако изаберете нову сесију, ваша тренутна се одваја, а она коју сте изабрали ће бити придружена.

Одвојили смо сесију „геек-2“ пре него што смо ово урадили. Међутим, то можете да урадите са сесијама које су још увек повезане са њиховим оригиналним прозорима терминала. Када то урадите, све промене на екрану ће се појавити истовремено у обе тмук сесије.

Команда екрана то такође може да уради преко сличног скупа команди.

Рад са прозорским окнима

Ако притиснете Цтрл+Б, а затим двоструке наводнике (“”), поделите прозор хоризонтално на два окна.

Ово утиче само на тренутни прозор; остали у сесији неће бити промењени. Користили смо команду тмук лс у горњем окну да наведемо прозоре у овој сесији. Има их два, а статусна линија нам говори да смо у прозору један. Ако пређемо на нулти прозор притиском на Цтрл+Б, а затим 0 (нула), видећемо да је исто онако како смо га оставили.

Ово су две независне командне линије, а не два погледа у једном прозору; оне су различите и одвојене шкољке. Ово можемо показати покретањем различите команде у сваком окну.

Укуцавамо следеће:

унаме -а

лс -хл

Да бисте прешли из једног окна у други, притисните Цтрл+Б, а затим стрелицу нагоре, надоле, лево или десно.

Ако притиснете Цтрл+Б, а затим знак процента (%), тренутно окно се дели вертикално.

Притисните Цтрл+Б, а затим К да натерате тмук да накратко трепери број сваког окна.

Ови бројеви се користе у упитима и порукама од тмук-а. Притисните Цтрл+Б, а затим Кс да бисте затворили тренутно окно. Статусна трака се мења у жуту и ​​од вас се тражи да потврдите да желите да затворите тај број окна. Притисните И да бисте уклонили окно или Н да оставите ствари какве јесу.

Ако притиснете И, окно се уклања.

Команда екрана такође има окна, али су, опет, мање интуитивна за коришћење. Оно што нас нервира код екрана је да ако одвојите сесију са окнима, они нестају када поново прикључите ту сесију. Ово веома брзо застари.

А Цтрл+Б Цхеат Схеет

Укључили смо варалицу са различитим командама које можете користити у тмук-у испод.
Команде сесије
С: Листа сесија.
$: Преименујте тренутну сесију.

Д: Одвојите тренутну сесију.

Цтрл+Б, а затим ?: Прикажи страницу помоћи у тмук-у.
Прозорске команде
Ц: Направите нови прозор.
,: Преименујте тренутни прозор.
В: Наведите прозоре.
Н: Пређите на следећи прозор.

П: Прелазак на претходни прозор.

0 до 9: Прелазак на наведени број прозора.
Пане Цоммандс
%: Направите хоризонталну поделу.
“: Направите вертикални поделе.
Х или стрелица налево: Пређите на окно са леве стране.
И или стрелица удесно: Пређите на окно са десне стране.
Ј или стрелица надоле: Пређите на окно испод.
К или стрелица нагоре: Пређите на окно изнад.
П: Укратко прикажите бројеве окна.
О: Крећите се кроз окна по реду. Сваки притисак вас води до следећег, док не прођете кроз све њих.
}: Замените позицију тренутног окна са следећим.

{: Замените позицију тренутног окна са претходним.

Кс: Затворите тренутно окно.

Како се пореде

Што се тиче функционалности, екран и тмук раде слично и нуде исте главне карактеристике. Начин на који приступате тим функцијама је значајно другачији. тмук нуди глаткије, удобније начине да дођете до различитих функција. Међутим, то није једина разлика.

Могућност преименовања сесија и прозора у тмук-у је уредна, а чињеница да задржава окна када поново прикључите сесију мења игру.

екран, са друге стране, потпуно губи окна када одвојите и поново спојите сесију. Ово је скоро довољно досадно да избегнете одвајање.

тмук има много више, укључујући његове невероватно флексибилне могућности скриптовања. Дужни сте себи да то проверите.