Cum să utilizați tmux: Un multiplexor terminal pentru utilizatorii avansați

tmux este un multiplexor de terminale care schimbă regulile jocului și crește productivitatea prin gestionarea mai multor sesiuni, panouri și fluxuri de lucru persistente într-un singur terminal. Ideal pentru dezvoltatori, administratori de sistem sau oricine lucrează pe servere la distanță, tmux vă menține sarcinile organizate și rezistente. Acest ghid simplifică utilizarea tmux cu exemple practice și sfaturi pentru a vă spori eficiența liniei de comandă.

Ce este tmux?

tmux este un multiplexor de terminale open-source care permite:

  • Sesiuni shell multiple într-un singur terminal

  • Sesiuni persistente (chiar și după deconectare)

  • Divizarea panoului și a ferestrei

  • Partajarea sesiunii între utilizatori

  • Comutare ușoară între sarcini fără a părăsi terminalul

Este ca și cum ați avea un manager de ferestre pentru terminal, disponibil oriunde – chiar și prin conexiuni SSH lente.

Instalarea tmux

Pe Debian/Ubuntu:

sudo apt install tmux

Pe CentOS/RHEL:

sudo yum install tmux

Pe macOS:

brew install tmux

Noțiuni introductive cu tmux

Pentru a începe o nouă sesiune tmux:

tmux

Acum vă aflați în interiorul unei noi sesiuni. Dar pentru a o utiliza eficient, va trebui să cunoașteți câteva combinații de taste.

Prefix implicit: Ctrl b

Toate comenzile tmux sunt declanșate cu o tastă prefix, care implicit este:

Ctrl b

Deci Ctrl b, apoi % creează o divizare verticală și așa mai departe.

Comenzi esențiale tmux

ComandăAcțiune
tmuxÎncepeți o nouă sesiune
tmux new -s mysessionPornește o sesiune numită
tmux attach -t mysessionReatașare la o sesiune
tmux lsListează sesiunile
tmux kill-session -t mysessionOprește o sesiune
exitIeși din panoul/fereastra curentă (sau kill prin tmux kill-pane)

Sfaturi și trucuri avansate

1. Sesiuni numite pentru persistență

tmux new -s setup-server("name-your-session")
Ctrl b, apoi “
→ aveți două panouri orizontale: sus și jos

Reatașați oricând:

tmux attach -t setup-server

🧮 2. Economisiți timp cu ajutorul scripturilor de sesiune

Creați .tmux.conf sau scripturi shell pentru a automatiza configurarea:

#!/bin/bash
tmux new-session -d -s dev
tmux send-keys -t dev 'cd ~/project && vim' C-m
tmux split-window -h
tmux send-keys 'htop' C-m
tmux attach -t dev

🧬 3. Partajarea sesiunii cu un alt utilizator

Permiteți sesiuni terminale colaborative (necesită permisiuni partajate):

sudo chmod s /usr/bin/tmux
tmux -S /tmp/shared attach

⚙ 4. Personalizați fișierul .tmux.conf

Exemplu:

# Setați prefixul la Ctrl a (ca ecranul GNU)
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

# Suport pentru mouse
set -g mouse on

# Culori mai bune
set -g default-terminal "screen-256color"

Reîncărcați configurația:

tmux fișier-sursă ~/.tmux.conf

Caz de utilizare: tmux peste SSH

Atunci când gestionați un VPS la distanță prin SSH:

  1. Conectare prin SSH

  2. Începeți o sesiune tmux:

    tmux new -s remote
  3. Rulați actualizări sau procese lungi (de exemplu, apt upgrade)

  4. Deconectați-vă în orice moment – sesiunea persistă

  5. Reconectați-vă mai târziu:

    tmux attach -t remote

💡 Acest lucru este de neprețuit pentru conexiunile nesigure, în special prin legături mobile sau prin satelit.

tmux este unul dintre cele mai puternice instrumente din arsenalul liniei de comandă. Fie că codificați, monitorizați servere sau gestionați mai multe sarcini la distanță, tmux oferă productivitate, persistență și precizie. Odată stăpânit, acesta devine indispensabil – economisind timp, păstrând sesiunile și organizându-vă fluxul de lucru al terminalului ca un profesionist.

Concluzii

tmux vă transformă terminalul într-un spațiu de lucru puternic și flexibil, perfect pentru multitasking, gestionarea de la distanță a serverelor sau codare colaborativă. Cu exemplele și sfaturile de mai sus, puteți configura rapid sesiuni, automatiza fluxuri de lucru și menține sarcini persistente. Fie că sunteți dezvoltator sau administrator de sistem, tmux vă simplifică experiența cu linia de comandă, economisind timp și sporind eficiența.