Aller au contenu

« Logiciels terminal » : différence entre les versions

De Marmits Wiki
Aucun résumé des modifications
Ligne 19 : Ligne 19 :
==== voir aussi commande <code>dust</code> (snap) ====
==== voir aussi commande <code>dust</code> (snap) ====
-----
-----
=== '''🛠️ <code>tmux</code> ''' ===
'''<code>tmux</code>''' (Terminal Multiplexer) est un outil en ligne de commande qui permet de '''gérer plusieurs sessions, fenêtres et panneaux''' dans un seul terminal. Il est très utile pour : - Travailler sur plusieurs tâches en parallèle sans ouvrir plusieurs terminaux. - Garder des processus actifs même après la déconnexion (idéal pour les serveurs distants). - Partager une session entre plusieurs utilisateurs (collaboration).


=== '''🛠️ <code>tmux</code> ?''' ===


'''<code>tmux</code>''' (Terminal Multiplexer) est un outil en ligne de commande qui permet de '''gérer plusieurs sessions, fenêtres et panneaux''' dans un seul terminal. Il est très utile pour : - Travailler sur plusieurs tâches en parallèle sans ouvrir plusieurs terminaux. - Garder des processus actifs même après la déconnexion (idéal pour les serveurs distants). - Partager une session entre plusieurs utilisateurs (collaboration).
-----
-----


<span id="installation-de-tmux"></span>
<span id="installation-de-tmux"></span>
==== '''📥 Installation de <code>tmux</code>''' ====


=== '''📥 Installation de <code>tmux</code>''' ===
<ul>
<ul>
<li><p>'''Debian/Ubuntu''' :</p>
<li><p>'''Debian/Ubuntu''' :</p>
Ligne 37 : Ligne 38 :
<li><p>'''macOS''' (via Homebrew) :</p>
<li><p>'''macOS''' (via Homebrew) :</p>
<syntaxhighlight lang="sh">brew install tmux</syntaxhighlight></li></ul>
<syntaxhighlight lang="sh">brew install tmux</syntaxhighlight></li></ul>
-----
-----
<span id="utilisation-de-base"></span>
<span id="utilisation-de-base"></span>
 
==== '''🎯 Utilisation de base''' ====
=== '''🎯 Utilisation de base''' ===


<span id="démarrer-une-session"></span>
<span id="démarrer-une-session"></span>
==== '''1. Démarrer une session''' ====
===== '''1. Démarrer une session''' =====


<syntaxhighlight lang="sh">tmux</syntaxhighlight>
<syntaxhighlight lang="sh">tmux</syntaxhighlight>
Ligne 49 : Ligne 52 :


<span id="détacher-une-session-quitter-sans-la-fermer"></span>
<span id="détacher-une-session-quitter-sans-la-fermer"></span>
==== '''2. Détacher une session (quitter sans la fermer)''' ====
===== '''2. Détacher une session (quitter sans la fermer)''' =====


* Appuyer sur '''<code>Ctrl + B</code>''', puis '''<code>D</code>'''.
* Appuyer sur '''<code>Ctrl + B</code>''', puis '''<code>D</code>'''.
Ligne 55 : Ligne 58 :


<span id="lister-les-sessions-actives"></span>
<span id="lister-les-sessions-actives"></span>
==== '''3. Lister les sessions actives''' ====
===== '''3. Lister les sessions actives''' =====


<syntaxhighlight lang="sh">tmux ls</syntaxhighlight>
<syntaxhighlight lang="sh">tmux ls</syntaxhighlight>
Ligne 63 : Ligne 66 :
1: 3 windows (created Tue May 17 11:30:00 2024)</pre>
1: 3 windows (created Tue May 17 11:30:00 2024)</pre>
<span id="rejoindre-une-session-existante"></span>
<span id="rejoindre-une-session-existante"></span>
==== '''4. Rejoindre une session existante''' ====
===== '''4. Rejoindre une session existante''' =====


<syntaxhighlight lang="sh">tmux attach -t 0  # Se connecte à la session 0</syntaxhighlight>
<syntaxhighlight lang="sh">tmux attach -t 0  # Se connecte à la session 0</syntaxhighlight>
<span id="fermer-une-session"></span>
<span id="fermer-une-session"></span>
==== '''5. Fermer une session''' ====
===== '''5. Fermer une session''' =====


<ul>
<ul>
Ligne 78 : Ligne 81 :


<span id="gestion-des-fenêtres-windows"></span>
<span id="gestion-des-fenêtres-windows"></span>
=== '''🖥️ Gestion des fenêtres (<code>windows</code>)''' ===
==== '''🖥️ Gestion des fenêtres (<code>windows</code>)''' ====


{| class="wikitable"
{| class="wikitable"
Ligne 105 : Ligne 108 :


<span id="gestion-des-panneaux-panes"></span>
<span id="gestion-des-panneaux-panes"></span>
=== '''📊 Gestion des panneaux (<code>panes</code>)''' ===
==== '''📊 Gestion des panneaux (<code>panes</code>)''' ====


{| class="wikitable"
{| class="wikitable"
Ligne 132 : Ligne 135 :


<span id="personnalisation-fichier-.tmux.conf"></span>
<span id="personnalisation-fichier-.tmux.conf"></span>
=== '''🔧 Personnalisation (fichier <code>~/.tmux.conf</code>)''' ===
==== '''🔧 Personnalisation (fichier <code>~/.tmux.conf</code>)''' ====


Exemple de configuration :
Exemple de configuration :
Ligne 153 : Ligne 156 :


<span id="astuces-utiles"></span>
<span id="astuces-utiles"></span>
=== '''💡 Astuces utiles''' ===
==== '''💡 Astuces utiles''' ====


<ul>
<ul>
Ligne 172 : Ligne 175 :


<span id="pourquoi-utiliser-tmux"></span>
<span id="pourquoi-utiliser-tmux"></span>
=== '''🔎 Pourquoi utiliser <code>tmux</code> ?''' ===
==== '''🔎 Pourquoi utiliser <code>tmux</code> ?''' ====


✅ '''Persistance''' : Les processus continuent même après déconnexion.<br />
✅ '''Persistance''' : Les processus continuent même après déconnexion.<br />
Ligne 183 : Ligne 186 :


<span id="alternative-screen"></span>
<span id="alternative-screen"></span>
=== '''🚀 Alternative : <code>screen</code>''' ===
==== '''🚀 Alternative : <code>screen</code>''' ====


<code>tmux</code> est une alternative moderne à <code>screen</code> (plus ancien, moins de fonctionnalités).<br />
<code>tmux</code> est une alternative moderne à <code>screen</code> (plus ancien, moins de fonctionnalités).<br />

Version du 16 mai 2025 à 22:44

🛠️ duf

Afficher des informations sur l'utilisation des disques (df -h)

apt install duf
duf --hide special

Commande Description

duf #Affiche tous les systèmes de fichiers
duf --all   #Montre aussi les pseudo-fs (tmpfs, etc.)
duf --hide local    #Cache les disques locaux
duf /home   #Affiche uniquement un point de montage

voir aussi commande dust (snap)


🛠️ tmux

tmux (Terminal Multiplexer) est un outil en ligne de commande qui permet de gérer plusieurs sessions, fenêtres et panneaux dans un seul terminal. Il est très utile pour : - Travailler sur plusieurs tâches en parallèle sans ouvrir plusieurs terminaux. - Garder des processus actifs même après la déconnexion (idéal pour les serveurs distants). - Partager une session entre plusieurs utilisateurs (collaboration).



📥 Installation de tmux

  • Debian/Ubuntu :

    sudo apt install tmux
    
  • Fedora/RHEL :

    sudo dnf install tmux
    
  • Arch Linux :

    sudo pacman -S tmux
    
  • macOS (via Homebrew) :

    brew install tmux
    



🎯 Utilisation de base

1. Démarrer une session
tmux
  • Une nouvelle session nommée automatiquement (0, 1, etc.) est créée.

2. Détacher une session (quitter sans la fermer)
  • Appuyer sur Ctrl + B, puis D.
  • La session continue de tourner en arrière-plan.

3. Lister les sessions actives
tmux ls

Exemple :

0: 1 windows (created Tue May 17 10:00:00 2024)
1: 3 windows (created Tue May 17 11:30:00 2024)

4. Rejoindre une session existante
tmux attach -t 0  # Se connecte à la session 0

5. Fermer une session
  • Dans la session, taper :

    exit
    

    ou utiliser Ctrl + D.



🖥️ Gestion des fenêtres (windows)

Commande (après Ctrl + B) Action
C Crée une nouvelle fenêtre
N Passe à la fenêtre suivante
P Passe à la fenêtre précédente
0 à 9 Aller à la fenêtre 0-9
& Fermer la fenêtre actuelle



📊 Gestion des panneaux (panes)

Commande (après Ctrl + B) Action
% Diviser verticalement
" Diviser horizontalement
Flèches Naviguer entre panneaux
X Fermer le panneau actuel
Z Agrandir/réduire un panneau



🔧 Personnalisation (fichier ~/.tmux.conf)

Exemple de configuration :

# Activer la souris
set -g mouse on

# Changer le préfixe (Ctrl + A au lieu de Ctrl + B)
unbind C-b
set -g prefix C-a
bind C-a send-prefix

# Personnaliser la barre de statut
set -g status-bg blue
set -g status-fg white

→ Recharger avec tmux source-file ~/.tmux.conf.



💡 Astuces utiles

  • Mode copier-coller :
    Ctrl + B + [ → Naviguer avec les flèches, Espace pour sélectionner, Entrée pour copier.
    Ctrl + B + ] pour coller.

  • Session nommée :

    tmux new -s ma_session
    tmux attach -t ma_session
    
  • Partager une session (pair programming) :

    tmux new -s shared
    chmod 777 /tmp/tmux-$(id -u)/default  # Autoriser l'accès
    

    L’autre utilisateur peut se connecter avec :

    tmux attach -t shared
    



🔎 Pourquoi utiliser tmux ?

Persistance : Les processus continuent même après déconnexion.
Productivité : Basculer rapidement entre plusieurs tâches.
Collaboration : Partage d’un terminal entre utilisateurs.
Léger : Plus rapide qu’un terminal graphique (GNOME Terminal, Konsole, etc.).



🚀 Alternative : screen

tmux est une alternative moderne à screen (plus ancien, moins de fonctionnalités).
Exemple avec screen :

screen -S ma_session  # Créer
screen -r ma_session  # Rejoindre