Comandi Linux e competenze della shell
tmux vs screen: gestori di sessione a confronto
tmux e screen risolvono lo stesso antico problema: il tuo lavoro non dovrebbe morire quando lo fa la tua rete. Le sessioni risiedono sul server, sopravvivono alle disconnessioni e possono essere suddivise in riquadri; screen è l'antenato stabile distribuito ovunque, tmux il successore con impostazioni predefinite più sane, riquadri programmabili e un ecosistema che è andato avanti. Funzionalmente si sovrappongono dieci a uno e la scelta onesta è lo strumento che i tuoi server già possiedono più le abitudini di configurazione che il tuo team manterrà effettivamente.
Punti chiave
- L'igiene della sessione è il valore fondamentale: tmux new -s deploy / screen -S deploy per iniziare, tmux ls / screen -ls per vedere la farm e allegare per nome esatto, quindi ricollegare il lavoro notturno di un collega è una ricerca, non un'ipotesi.
- Staccati con garbo (prefisso-d), esci deliberatamente: chiudere l'intera sessione con l'uscita all'interno dei riquadri è il modo in cui si perdono i lavori lunghi e finiti a metà; "staccarsi a meno che tu non lo intenda veramente" è un'abitudine, non una preferenza.
- Le divisioni si comportano meglio in tmux: % e " dividono i riquadri, oltre al ridimensionamento della freccia sotto il prefisso e alla modalità mouse opzionale; conteggi dello schermo | e S verso le stesse estremità con un ridimensionamento più complicato.
- Lo scorrimento indietro è silenziosamente decisivo: la modalità copia tmux ricerca la cronologia ([ quindi /), la navigazione ^a [ dello schermo è praticabile ma rozza, e sulle code di registro multi-GB la ricerca batte lo scorrimento.
- La scriptabilità si inclina verso tmux: le chiavi di invio e il riquadro di acquisizione consentono all'automazione di guidare e leggere le sessioni, motivo per cui la CI e la colla degli strumenti lo preferiscono; screen può andare anche lì, ma con idiomi più vecchi.
- Le sessioni condivise funzionano in entrambe: due collegamenti a una sessione rispecchiano tutto dal vivo, ovvero il debug in coppia o il controllo degli amici di un comando rischioso in tempo reale; continua a digitare con disciplina, altrimenti anche lo specchio mostrerà i tuoi errori di battitura.
- La cultura di configurazione è diversa: tmux ha sviluppato un ecosistema di configurazione diviso (temi, plugin, impostazioni predefinite valide per team), lo schermo viene eseguito su un ~/.screenrc; in pratica tmux si adatta a tutto il team e lo schermo rimane personale.
- I riavvii mettono fine a tutto: le sessioni risiedono nella memoria del server, quindi i lavori lunghi necessitano di lavori reali (log, checkpoint, script riavviabili) più il gestore delle sessioni in cima; tmux è un'assicurazione, non una durabilità.
Nota dal campo
La sessione persa era una migrazione di dati durata sei ore interrotta da un singhiozzo della VPN e nulla sul disco sapeva in quale fase ci trovassimo. Qualunque cosa più lunga di una pausa caffè ora prende un nome in tmux e riprende la mattina successiva con tmux ls invece di un'alzata di spalle.
Domande frequenti
Se ne imparo solo uno, quale?
tmux, a meno che la tua flotta non esegua già lo screening ovunque; le sue impostazioni predefinite, gli hook di scripting e lo slancio della comunità sono dove è andato l'ultimo decennio e le abitudini si trasferiscono abbastanza bene da coprire un'emergenza sullo schermo.
È sicuro che due persone condividano una sessione?
Sì, ed è la mossa standard per il debug della coppia; entrambi vedono sequenze di tasti identiche, quindi concorda chi possiede la tastiera e tratta qualsiasi comando distruttivo come una richiesta di modifica con un secondo paio di occhi attaccati.
Perché i colori appaiono errati durante la mia sessione?
Mancate corrispondenze TERM: il terminale interno deve annunciare tmux-256color o screen-256color, l'host remoto deve avere la voce (ti dice infocmp) e prima la leggibilità, poi l'orgoglio del tema.
Le sessioni sopravvivono al riavvio del server?
No: le sessioni vivono in memoria e un riavvio le cancella mentre i dischi sopravvivono; gli script riavviabili e i log su disco rappresentano il livello di durabilità, tmux è il livello di interruzione e confondere i due è la classica interruzione.
Come Kinetikatech aiuta con comandi linux e competenze della shell
Questo è ciò che facciamo ogni giorno: I comandi e le abitudini di scripting che decidono se un amministratore gestisce un server o lo combatte: cerca, trasforma, trasferisci e supervisiona testo e processi con gli strumenti presenti in ogni installazione di base. Il nostro servizio Sicurezza server Linux e Gestione server lo copre dall'inizio alla fine: valutazione, implementazione, monitoraggio 24/7 e risposta di emergenza in 30 minuti.