Kennisbank › Editors Terminal › Wat tmux doet
editors terminal starter 09 September 2026

Wat tmux doet

Je SSH-verbinding valt weg halverwege een `apt upgrade`, en je hele deploy staat stil omdat je terminal dood is. Had je tmux gebruikt, dan draaide die upgrade

Je SSH-verbinding valt weg halverwege een `apt upgrade`, en je hele deploy staat stil omdat je terminal dood is. Had je tmux gebruikt, dan draaide die upgrade gewoon door. Dit artikel legt uit wat tmux doet, hoe je het instelt en waarom het je workflow verandert — voor wie werkt op Linux-servers of in een terminal met editors als Vim of Emacs.

Vereisten

  • Een Linux-systeem (Debian/Ubuntu, RHEL/Fedora, of een andere distro) of macOS
  • tmux versie 3.7c of nieuwer (controleer met `tmux -V`)
  • Basiskennis van de commandoregel
  • Een SSH-verbinding naar een server, of een lokale terminal

Wat tmux doet

Tmux is een terminal multiplexer: het laat je meerdere terminalsessies draaien binnen één scherm. De naam is een afkorting van terminal multiplexer — het vermenigvuldigt de functionaliteit van één terminalvenster door sessies, vensters en panes te ondersteunen binnen één interface.

De kernfunctionaliteit is simpel: je start een sessie, je doet je werk, en je kunt die sessie loskoppelen (detach) van je scherm. De sessie blijft draaien op de achtergrond. Later koppel je hem weer vast (re-attach), waar je ook bent. Je processen stoppen niet als je laptop dichtklapt of je wifi wegvalt.

Dat maakt tmux onmisbaar voor langlopende taken: builds, scripts, serverprocessen, database-migraties. Zelf hosten klinkt prachtig, tot er iets omvalt op zondagavond half twaalf. Dan ben je geen klant die op de helpdesk wacht. Dan bén je de helpdesk — en dan wil je dat je sessie nog leeft.

Installatie

De kans is groot dat tmux al geïnstalleerd staat. Check het eerst:

tmux -V

Staat er niets, installeer het dan via je package manager:

<h2>Debian/Ubuntu</h2>
sudo apt install tmux
<h2>RHEL/Fedora</h2>
sudo dnf install tmux
<h2>macOS (via Homebrew)</h2>
brew install tmux

Basis: je eerste sessie

Start een nieuwe sessie:

tmux new -s werk

Je zit nu in een tmux-sessie, maar dat merk je nauwelijks — behalve aan de statusbalk onderin. Die toont je sessienaam, vensters en de tijd.

Het belangrijkste concept is de prefix key: standaard `Ctrl+b`. Alles wat je in tmux wilt doen, begint met die combinatie. Daarna druk je een tweede toets voor de actie.

De drie belangrijkste commando's om te onthouden:

| Actie | Toetsen | |-------|---------| | Detach (sessie loskoppelen) | `Ctrl+b` dan `d` | | Nieuw venster | `Ctrl+b` dan `c` | | Volgende venster | `Ctrl+b` dan `n` |

Detach is de belangrijkste. Druk `Ctrl+b`, laat los, druk `d`. Je bent terug in je normale shell, en je sessie draait door.

Om terug te koppelen:

tmux attach -t werk

Als je SSH-verbinding wegvalt, hoef je alleen maar opnieuw in te loggen en bovenstaand commando te draaien. Alles staat er nog precies zoals je het achterliet.

Vensters en panes

Binnen één sessie kun je meerdere vensters hebben — denk aan tabbladen in een browser. En binnen één venster kun je het scherm splitsen in panes, zodat je twee of meer terminals tegelijk ziet.

| Actie | Toetsen | |-------|---------| | Verticaal splitsen (links/rechts) | `Ctrl+b` dan `%` | | Horizontaal splitsen (boven/onder) | `Ctrl+b` dan `"` | | Wisselen tussen panes | `Ctrl+b` dan pijltjestoets | | Pane sluiten | `exit` typen, of `Ctrl+d` |

Dit is waar tmux zijn waarde bewijst voor editor-gebruikers. Je opent Vim in één pane, een shell in het pane eronder, en een `tail -f` op een logbestand in het pane rechts. Je hoeft niet meer te alt-tabben tussen terminalvensters.

Een praktische setup:

1. Start een sessie: `tmux new -s dev` 2. Splits horizontaal: `Ctrl+b` dan `"` 3. Open Vim in het bovenste pane: `vim` 4. Ga naar het onderste pane: `Ctrl+b` dan pijltje-omlaag 5. Draai daar je build of tests

Je ziet direct wat er gebeurt als je code compileert of test draait, zonder van venster te wisselen.

Detach blijft draaien

Het client-servermodel van tmux is wat het verschil maakt. Wanneer je tmux start, draait er een serverproces dat je sessies beheert. Jouw terminal is slechts een client die erop aansluit. Verbreek je de verbinding — bewust of door een netwerkstoring — dan blijft de server draaien.

Test het zelf:

1. Start een sessie: `tmux new -s test` 2. Start een langlopend commando, bijvoorbeeld: `ping 8.8.8.8` 3. Detach met `Ctrl+b` dan `d` 4. Sluit je terminal volledig af 5. Open een nieuwe terminal en typ: `tmux attach -t test`

De ping draait nog. Dat is het hele punt.

Configuratie: je eigen tmux

Standaard gebruikt tmux emacs-stijl toetscombinaties. Werk je met Vim, dan kun je dat aanpassen. Tmux kijkt bij het opstarten naar je `EDITOR`-omgevingsvariabele: bevat die 'vi', dan schakelt tmux automatisch over op vi-stijl key bindings in copy-mode.

Voor verdere aanpassingen maak je een configuratiebestand aan:

touch ~/.tmux.conf

Een basissetup die veel gebruikt wordt:

<h2>Verander de prefix key naar Ctrl+a (zoals GNU Screen)</h2>
set -g prefix C-a
unbind C-b
bind C-a send-prefix
<h2>Pas muisondersteuning toe</h2>
set -g mouse on
<h2>Verhoog de scrollback buffer</h2>
set -g history-limit 50000

De muisoptie is controversieel: sommige gebruikers zweren erbij, anderen vinden het hinderlijk bij het selecteren van tekst in de terminal. Zet hem aan, probeer het een week, en zet hem uit als hij stoort. Het kost niets om te wijzigen.

Na een wijziging laad je de configuratie opnieuw:

tmux source-file ~/.tmux.conf

Scriptbaarheid

Tmux laat zich niet alleen interactief bedienen, maar ook vanuit scripts. Dat maakt het mogelijk om complexe ontwikkelomgevingen op te zetten met één commando.

Een voorbeeld: een sessie met drie vensters voor een project.

#!/bin/bash
tmux new-session -d -s project -n editor
tmux send-keys -t project 'vim src/index.js' C-m
tmux new-window -t project -n shell
tmux send-keys -t project 'git status' C-m
tmux new-window -t project -n logs
tmux send-keys -t project 'tail -f /var/log/app.log' C-m
tmux select-window -t project:editor
tmux attach -t project

Dit script start een sessie genaamd `project`, opent Vim in het eerste venster, een shell met `git status` in het tweede, en een logviewer in het derde. Daarna koppelt het je eraan vast.

Er zijn ook tools die dit soort setups beheren — `tmuxinator` en `tmuxp` zijn de bekendste. Die werken met YAML-configuraties en zijn handig als je veel verschillende projectomgevingen hebt. Voor één of twee projecten is een simpel script genoeg; die tools voegen vooral structuur toe als je er tientallen hebt.

Veelgemaakte fouten

Vergeten dat je in tmux zit. Je draait commando's, en ineens werkt een snelkoppeling niet meer. Check de statusbalk onderin. Staat er een sessienaam, dan zit je in tmux. Druk `Ctrl+b` en dan `d` om te detachen, of blijf en leer de prefix.

`Ctrl+b` werkt niet in GNU Screen. Tmux en GNU Screen zijn verschillende programma's met verschillende prefix keys. Screen gebruikt standaard `Ctrl+a`. Als je gewend bent aan Screen, pas dan je tmux-config aan zoals hierboven beschreven.

Scrollback werkt niet. In tmux scroll je niet met je muiswiel, tenzij je muisondersteuning aanzet. Zonder die optie gebruik je `Ctrl+b` en dan `[` om in copy-mode te gaan, waarna je met pijltjestoetsen of Page Up/Page Down door de buffer bladert. Met muisondersteuning aan werkt scrollen zoals je verwacht.

Sessie kwijt na reboot. Tmux-sessies overleven geen systeemherstart — ze draaien op de server, niet in je terminal, maar wel in het geheugen van die server. Voor processen die een reboot moeten overleven, heb je een service manager nodig zoals systemd. Tmux is voor het overleven van verbindingsstoringen, niet van stroomuitval.

Verificatie

Controleer of je installatie werkt en je sessies beheert:

<h2>Toon alle actieve sessies</h2>
tmux list-sessions
<h2>Toon tmux-versie</h2>
tmux -V
<h2>Toon alle actieve processen die tmux-server heten</h2>
ps aux | grep tmux

Zie je een sessie in `list-sessions`, dan draait je tmux-server correct. Koppel er een aan met `tmux attach -t `.

Veelgestelde problemen

`tmux attach` geeft "no sessions" Je hebt geen actieve sessies. Start er een met `tmux new -s werk`, of check met `tmux list-sessions` of je de sessienaam goed hebt.

Kleuren zien er anders uit in tmux Tmux ondersteunt 256 kleuren, maar je terminal moet dat ook doen. Start tmux met `tmux -2` om 256-kleurenondersteuning te activeren, of zet `set -g default-terminal "screen-256color"` in je `.tmux.conf`.

`tmux source-file` geeft fouten over onbekende opties Je configuratie bevat opties die je tmux-versie niet kent. Check je versie met `tmux -V` en vergelijk met de documentatie voor die versie. Opties wijzigen tussen versies; een config geschreven voor 3.7 werkt niet altijd op 3.2.

Tmux is geen grafische tool en dat is precies de kracht. Alles draait op tekst en toetscombinaties, wat het lichtgewicht maakt — maar ook een leercurve geeft. De eerste dagen zul je `Ctrl+b` indrukken en vergeten welke toets daarna komt. Na een week zit het in je spieren, en vraag je je af hoe je ooit zonder werkte. En als je dan toch een keer zonder zit — op een systeem waar tmux niet geïnstalleerd is — ontdek je pas echt wat je mist: de rust van een sessie die blijft draaien, los van je verbinding.

← Terug naar kennisbank
← Terug naar kennisbank