Tmux: Iniciació a l'multiplexor de terminals (Primera part)

Seguim amb les frikades:

Si acostumes de certa manera a fer ús extensiu de consoles (m'incloc) t'hauràs topat que la millor opció a l'hora d'emprendre certes tasques sense llençar un munt de consoles al desktop és fer servir un multiplexor que no és més que una entitat que permet crear una pila de consoles accessibles des duna mateixa terminal. En el millor dels casos disposem d'eines com Gnuscreen  que evidentment és lopció més coneguda i longeva. La veritat és que al món del programari lliure si podem trobar alguna cosa, són opcions per utilitzar. Literalment tenim un ventall gairebé interminable:

En aquesta oportunitat us vull parlar una mica de Tmux

Si com jo tens Arc només cal fer un pacman -S tmux per instal·lar-lo Els usuaris d'altres distros els tenen de la mateixa manera als repos oficials.

Un cop instal·lat comencem tipejant tmux en un tertmial:

iniciotmux

A simple vista només és una terminal esperant ordres a executar i certament ho és. El primer a executar per a aquest tuto sera diverses terminals en una sola finestra, per a això premem la combinació de tecles:

Control + b Control + %

quedant de la següent forma:

Compartir

Com veurem lespai de treball es divideix en dues primerament, però podem repetir tantes vegades com sigui necessari el procés per aconseguir tantes terminals vulguem. Lògicament, potser amb tants espais de treball sens dubte necessitem ordenar de certa manera la disposició d'aquestes terminals. Per a això premem:

NOTA: en el primer intent d'aquesta combinació de tecles les terminals s'ajustaran per tenir una mida igual en dimensions, per la qual cosa no veurà un canvi de posició pròpiament dit sinó un acomodament d'elles.

Control + b Tecla espaiadora

canvideposició

Ara se'ns presenta el cas de voler passar d'una terminal a l'altra per a això fem ús de la lògica de la direcció de la tecles a dalt a baix del teclat. Per aquest cas com tenim dos terminals una damunt de l'altra premem:

Control + b Tecla a baix ( suposant que el punter estigui a la terminal de dalt)

Control + b Tecla amunt ( suposant que el punter estigui a la terminal de baix)

 En el cas que tinguéssim més terminals, per exemple una a la des de la terminal superior i una vegada estant situats a la primera terminal de baix usaríem la lògica de direcció de les tecles del teclat és a dir:

Control + b Tecla dreta

decciondreta

Ara tal com ho comentava a la descripció d'entrada Tmux literalment crea una pila de sessions a la mateixa terminal. La comanda per a això és:

Control + b c

novapantalla

A partir d´aquest moment haurem creat una sessió nova (part de la pila que els comentava) i que podrem comprovar veient la part assenyalada de la imatge ( 😛 ) . Veurem un asterisc canviat a la terminal on ens trobem exactament això com a guia. Si volem tornar novament a on comencem premem:
 
Control + b p (Per tornar a la terminal anterior) 
Control + bn ( Per passar a la terminal següent )
 
Veurem l'asterisc canviar de lloc novament. Cada finestra és independent i per tant podrà dividir i modificar a voluntat.
Si volem tancar una de les finestres de la sessió hauríem de prémer:
 
                                                                                                                                                                 Control + b &
 
liminar

 
A la part indicada en groc veurem un diàleg de confirmació de tancament on haurem de col·locar Y (per tancar) o N (per cancel·lar l'otrden)  Y / N . quedant a la terminal contigua després d'haver respost afirmativament a la pregunta.
 
La pregunta seria quina utilitat dono a aquesta eina ? les respostes són molta però la que més ràpid ve a la meva ment és: disposar de diverses consoles per al maneig de comptes ssh, anàlisi de xarxa execució de comandes de manera general i monitors de sistema sense sortir d'una terminal eleva bastant la productivitat d'una persona que s'hagi de manejar amb moltes terminals. 
 
A la segona part d'aquest tutorial d'introducció explicaré una mica més de la configuració interna de Tmux i altres característiques, encara que sempre està disponible el manual que proveeixen els desenvolupadors  man tmux 

Els deixo una captura addicional:

casiiii

Salutacions-….


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   satanAG va dir

    Hola, excel·lent post. Aclarint i informant que es troba als repositoris de Debian Wheezy (7). Només cal, amb un apt-get install tmux

    Salutacions.

    1.    freebsddick va dir

      Que bé que t'hagi estat de profit. salutacions!!

    2.    eliotime3000 va dir

      Ja ho vaig instal·lar, i em va de meravelles.

  2.   ezequiel va dir

    Sobretot tmux és molt útil quan et connectes remotament via ssh. Excel·lent entrada!

    1.    freebsddick va dir

      Sens dubte.. Francament és el primer ús que em ve a la ment !! però clar les possibilitats són molt àmplies !!.. Salutacions

  3.   Jesús Ballesteros va dir

    Moltes gràcies per aquest post, estava buscant alguna cosa així per al KDE, anteriorment feia servir l'emulador terminator però no hi ha una alternativa qt que faci els mateix, això em va ajudar bastant.

    Cordial salutacions.

    1.    freebsddick va dir

      doncs sep .. és una eina força ulti.. el que em crida l'atenció de la seva simplicitat d'ús. potser si dónes una mirada a la docu oficial podries aconseguir moltes coses interessants. salutacions

    2.    pandev92 va dir

      No entenc, no us serveix konsole? oO

  4.   pregunta va dir

    Mola. Però em queda un dubte: quina diferència hi ha amb utilitzar un emulador de terminal (com el de gnome, per exemple) que permet obrir diverses pestanyes en la mateixa aplicació? A mi em sembla més senzill utilitzar el que comento, i la majoria dels terminals d'entorns d'escriptori que conec tenen aquesta possibilitat…

    1.    freebsddick va dir

      Això de la facilitat és un fet una mica subjectiu. Quan un usuari tenen a fer servir eines com urxvt busca simplicitat no busca que sigui bonic ( encara que pot ser-ho amb alguna que altra configuració addicional ).

      En el cas de rxvt si Tens la possibilitat de tenir tab (pestanyes) degudament identificades amb les fonts que prefereixis amb els colors que vulguis. Crec que el punt fonamental és bàsicament el consum de recursos. gnome terminal i altres vénen amb els entorns descriptoris generalment pel que usen bastant més ram això podria ser una cosa insignificant en un equip relativament nou però en un equip de certa edat qualsevol estalvi sense treure funcionalitat és alguna cosa a considerar

  5.   pandev92 va dir

    MHH es veu interessant

    1.    freebsddick va dir

      Les persones que solen tenir regades terminals a l'escriptori i que a més disposen de poc espai per fer-ne ús adoren aquest tipus d'eines..!! també si uses un entorn com i3 que és un manejador de tipus cascada se li pot treure molt profit perquè estalvia molt espai a l'escriptori.

  6.   Saito va dir

    Molt ineteresant la veritat i ho he fet servir un parell de vegades però veient en rendiment, pes (Dependències del programa), i facilitat sempre acabo tornant a «terminator» que és un terminal amb multiplexor inclòs i pestanyes també, i em fa el mateix, fins i tot puc guardar perfils i tot, puc obrir links sense necessitat d'un complement com és el cas d'urxvt, haurien de provar-la……

    Això no li treu que Urxvt sigui bellíssima, però per comoditat i facilitat Terminator.

    Nota si algú vol la configuració de Terminator no dubtin a demanar-me-la 🙂

    1.    freebsddick va dir

      A tmux també hi ha aquestes característiques.. Si és per la quantitat de programes puc assegurar-se que només descarregar Tmux no necessites res més !! Actualment tinc diverses màquines sense entorn gràfic inclusivament corrent diversos serveis de manera paral·lela. El consum de recursos és realment important per a mi ja que els equips en què ús tmux tenen més de 10 anys d'antiguitat.. Pel que fa a l'emulador de terminal en particular sòl usar zsh com a consola predeterminada + urxvt . El punt és que Tmux pot guardar les sessions del que hagis estat fent sense cap problema per tal de reprendre-les en el moment que vulguis. això de les tab has de saber que només activant les tab en uxrvt ja tindràs aquesta funcio. parts.

      Si vols comprovar el que et dic només has d'anar a la docu oficial t'asseguro que trobaràs totes aquestes característiques que acostumes a fer servir amb les eines sobre les quals comento. Salutacions…

    2.    eliotime3000 va dir

      Ja ho vaig instal·lar. Ara estic seguint el tuto. Gràcies per l'avís, ja no he d'instal·lar necessàriament el ratpoison.

  7.   Germaine va dir

    Una mica més per provar i aprendre; s'agraeix l'aportació, encara que per ara amb el Konsole al KDE em va bé.

  8.   eliotime3000 va dir

    Bona eina, encara que també és vàlid utilitzar RatPoison de tant en tant per treballar.

    Fins ara, l'eina més KISS i senzilla de fer servir fins ara.

  9.   @Jlcmux va dir

    Hola. Podeu editar el tmux perquè la consola tingui colors. i tot això que editem gairebé tots al .bashrc ?

  10.   Saito va dir

    Si és veritat el que tu em comentes, només que com vaig dir per facilitat i comoditat surt millor Terminator, un exemple:

    Tu com divideixes la terminal en 2 parts horitzontals
    Control + by després la Tecla d'espai

    Com canvies a les terminals adjuntes:
    Control + by després Fletxa d'adreça

    Com dividit jo la terminal en 2 parts horitzontals:
    Control + Fletxa de baix

    Com a canvi entre terminals adjuntes:
    Alt + Fletxa d'adreça

    Aquest pas més que cal fer amb tmux és el que fa que les dues vegades que ho he provat bé acabi tornant a terminator per aquesta comoditat, a més que la configuració no és tan llarga com en el cas d'Urxvt + Tmux

    I com vaig dir clar que és bellíssima aquesta configuració, si tan sols pogués configurar-la de la mateixa manera que terminator em passo de seguida, cosa que no he pogut fer (potser per mandra de configurar, o perquè potser ho vaig fer malament)

    Bona explicació al post!!!!

    PD: Magrada el teu escriptori és fluxbox veritat???

    1.    freebsddick va dir

      Bé imagino que ja és una cosa de gustos .. per exemple jo busco simplicitat i realment veig extremadament simple lús daquests dos elements, hauria de fer un post per poder descriure les raons.Potser tinc una mica menys tendència a utilitzar el ratolí. .
      Si és fluxbox configurat amb pocs elements.

      Salutacions

  11.   tmux va dir

    per facilitat i menjar tens tmux, el mapeig de tecles li pots assignar al que se't canti.

    A més, pots crear un socket i compartir sessions, i si vols alguna cosa que et preconfiguri l'entorn o estableixi permisos per al socket tens scripts com a tmuxinator per al maneig de projectes, i wemux per compartir sesions. I en aquest aspecte terminator es queda curt, a més de consumir més recursos que tmux.

    1.    Saito va dir

      Com vaig dir és més fàcil i còmode terminator per la forma en què confgures les dreceres de teclat, no he pogut configurar-ho perquè es divideixi directament amb (Control + Fletxa) sinó que sempre que ho he fet servir és (Control + z + Fletxa) , aquesta és la forma en què vaig poder configurar almenys com jo ho veu, em sembla un pas més, però com va dir «freebsddick» és ja més qüestió de gustos, no me'n vaig a una baralla de comparacions entre tmux i terminator, que com diu «msx» terminator és una terminal gràfica, és clar que ve amb multiplexor inclòs a diferència de tmux que el pots fer servir sota una tty

  12.   MSX va dir

    Per a tots els que comparen tmux amb la resta de les terminals gràfiques:

    TMUX NO ÉS UNA TERMINAL, ÉS UN MULTIPLEXADOR DE TERMINALS TTYs/VTYs

    La diferència principal rau en que si bé Terminator, Konsole i amics pot subdividir la seva pantalles principals en altres tantes sempre ho fan SOBRE LA CAPA GRÀFICA.

    tmux i GNU Screen en canvi emulen per si mateixos una terminal de text permetent DESACOPLAR el contenidor principal com a aplicació foreground i seguir corrent en background.

    tmux és especialment útil quan accedim remotament via SSH i quan necessitem un 100% de fiabilitat en executar determinades tasques no gràfiques en entorns gràfics que no són 100% fiables.

    Suposem que estem realitzant un backup, scp o l'execució d'un script que durà hores completar-se i que no podem arriscar-nos que s'interrompi: tmux ve al rescat.
    En comptes d'executar aquest script, backup, o scp directament des d'una terminal gràfica o haver de loguejar-nos en una tty en mode text podem invocar tmux, posar a córrer la tasca assignada i desacoblar la terminal multiplexada en cas que no necessitem veure el feedback de la nostra ordre.
    Si per qualsevol motiu la nostra sessió X crashea tranquil·lament iniciem una nova sessió o passem a una tty, acoplem la sessió en curs de tmux i continuem des d'on som.

    O si, per exemple, necessitem córrer una tasca que demanarà cert temps i hem d'allunyar-nos de la màquina sempre podem accedir via SSH a la sessió corrent de tmux i continuar treballant des d'allà.

    tmux és fantàstic encara que amb les últimes modificacions que van fer a Konsole em trobo fent-lo servir cada vegada menys i només per a algunes tasques molt puntuals com les que cito a dalt.

    http://i.imgur.com/L4JJI8m.png
    http://i.imgur.com/rfWjAMs.png
    http://i.imgur.com/oy5uqSN.jpg
    http://i.imgur.com/AN8guja.png
    http://i.imgur.com/og6NQBE.png
    http://i.imgur.com/JTH4SHc.jpg
    http://i.imgur.com/LaO9IUp.png
    http://i.imgur.com/fQoaKSk.png

  13.   just-another-dl-user va dir

    Excel·lent dada, just l'altre dia necessitava alguna cosa com això.

    1.    freebsddick va dir

      Que bo que et serveixi.. en el que tingui una mica de temps publico la segona part 🙂

  14.   David Solórzano va dir

    Una de les terminals que també recomano ja que té aquesta característica de ser multiplexor és terminator, la recomano
    Per instal·lar-la simple amb aptitude install terminator

  15.   Dragnell va dir

    Una pena, en elementary no funciona, Salutacions

    1.    MSX va dir

      WHAT!?
      A l'únic elementary OS que tinc instal·lat (Beta 2 al dia) és una de les primeres eines que vaig instal·lar.

      tmux funciona fins i tot en torradores, i si no revisa el projecte NetBSD.

  16.   Algabe va dir

    Molt bo el Tmux molt semblant a Terminator, encara que estic acostumat a fer servir screen 🙂

  17.   snock va dir

    Es pot barrejar konsole amb tmux?

    1.    MSX va dir

      No es barregen, es complementen, revisa les captures del meu comentari més amunt.

  18.   armant va dir

    Tmux és increïble sol i també en combinació amb Vim. Per als que usen screen el pas a Tmux és directe només és qüestió de mapejar ctrl ba ctrl ai aprendre's unes quantes ordres.

  19.   Dvirus va dir

    tmux = Terminator

    Provides a fully-functional command line interface (CLI) for Linux, Arrange terminals in a grid, Open multiple sessions in tabs,Drag and drop re-ordering of terminals, Lots de configurable keyboard shortcuts,Save multiple layouts and profiles in the preferences, Simultaneous typing to arbitrary groups of terminals, Customizable visual style.

  20.   Luigi va dir

    Excel·lent, m'ha servit molt.

  21.   nerds va dir

    moltes gràcies per l'aportació