tmux, een afkorting voor terminal multiplexer, is een opdrachtregelprogramma dat het werken vanaf de terminal veel gemakkelijker. Hiermee kunt u uw terminalvenster in meerdere vensters splitsen, die in meerdere SSH-sessies blijven bestaan.
Tmux installeren en gebruiken
tmux kan voor de meeste distributies worden geïnstalleerd vanuit de pakketbeheerder. Voor op Debian gebaseerde systemen zoals Ubuntu zou dat zijn:
apt-get install tmux
Het is ook beschikbaar op brew, een pakketbeheerder van derden voor macOS, met brew install tmux.
Zodra het is geïnstalleerd, kunt u aan de slag gaan door de opdracht tmux in te voeren. Dit start echter een sessie met een willekeurige naam, dus u kunt een nieuwe benoemde sessie maken met tmux new:
tmux new -s [naam]
Dit neemt uw terminalvenster over en u ziet onderaan een nieuwe opdrachtbalk. Je draait nu in tmux, in een nieuw aangemaakte sessie. Deze sessie werkt alsof je een nieuw terminalvenster of een nieuwe SSH-sessie hebt geopend en deze op je bureaublad hebt laten staan, behalve dat deze zonder venster en achter de schermen wordt uitgevoerd. Met tmux kunt u er verbinding mee maken. In wezen is tmux een desktopomgeving voor de terminalwereld.
Advertentie
Als u het eigenlijke terminalvenster sluit, blijft deze tmux-sessie bestaan totdat u deze handmatig beëindigt (of uw systeem opnieuw opstart). Het werkt op dezelfde manier bij het verbinden met een externe server; alles wat u uitvoert, blijft bestaan totdat u de sessie beëindigt.
Om de sessie te beëindigen, kunt u de exit-opdracht uitvoeren of op Control+A, Control+D drukken. Je ziet “exited” in je hoofdterminal als tmux wordt afgesloten.
Maar vaker wil je gewoon de verbinding met de sessie verbreken en deze op de server laten draaien. Om dit te doen, moet je op de sneltoets tmux voorvoegsel drukken, die standaard Control+B is, en vervolgens op de “D” sleutel. Je ziet “Detached From Session” in je hoofdterminal wanneer tmux wordt afgesloten.
Om opnieuw verbinding te maken met een sessie, gebruik je:
tmux a -t [name]
De “a” commando is een afkorting voor attach-session, wat enkele toetsaanslagen bespaart. Bovendien kunt u de # snelkoppeling gebruiken om verbinding te maken met de laatst gemaakte sessie:
tmux a #
Om alle sessies te bekijken, kunt u uitvoeren:
tmux ls
Hiermee wordt de sessienaam weergegeven en het huidige aantal vensters. Zorg ervoor dat je niet al verbonden bent met een tmux-sessie wanneer je probeert verbinding te maken met een andere sessie, aangezien recursie standaard wordt geblokkeerd (en hoe dan ook lastig is).
Multitasking met deelvensters
Deelvensters maken intensief gebruik van de sneltoets tmux-voorvoegsel, dus het is het beste om deze te onthouden:
Control+B Advertisement
Elke opdracht wordt hiermee voorafgegaan zodat tmux deze onderschept.
p>
Gebruik een van de twee sneltoetsen om een nieuw venster te maken:
- Control+B % om verticaal te splitsen
- Control+B ” om horizontaal te splitsen
Hiermee wordt het huidige paneel gesplitst zoals u dat wilt.
Om tussen deelvensters te schakelen, moet u Control+B invoeren gevolgd door een pijltoets. Je kunt ook muisondersteuning installeren met Oh My Tmux!, waarmee je ertussen kunt klikken.
Als je niet tevreden bent met hoe groot de panelen zijn, kun je ze verkleinen met deze twee commando's :
Control+B : formaat wijzigen -R 4
Control+B gevolgd door een dubbele punt opent de tmux-opdrachtprompt, die meer gedetailleerde opdrachten accepteert. Het commando dat we hier gebruiken is resize-pane, dat een richting heeft (U voor omhoog, L voor links, enz.) en het aantal regels om uit te breiden. In dit geval breidt deze opdracht het momenteel geselecteerde paneel vier regels naar rechts uit.
Tmux Windows
Als u dit niet doet Als je je terminal wilt splitsen (of gewoon wilt multitasken met apps op volledig scherm), kun je tmux-windows gebruiken. U kunt de volgende opdrachten gebruiken om met vensters te werken:
- Control+B c om een nieuw venster te maken
- Control+B p om naar het vorige venster te gaan
- Control+B n om naar het volgende venster te schakelen
- Control+B 0-9 om naar een venster te schakelen op indexnummer.
Advertentie
Bovendien drukt u op Control+B w geeft een interactieve exposé, zodat u kunt zien welke vensters u open heeft staan, welke opdrachten ze uitvoeren en hoeveel vensters ze hebben:
U kunt een venster op elk gewenst moment beëindigen door de exit-opdracht te gebruiken, waarmee alle lopende processen worden gestopt. Merk op dat dit tmux ook helemaal stopt als u het uitvoert met slechts één venster open.
Als het venster niet meer reageert, kunt u het sluiten met Control+B &, waardoor de actieve processen altijd worden afgebroken in dat venster.
tmux uitbreiden
tmux is enorm populair en er zijn tal van plug-ins, thema's en maatschappelijk draagvlak erachter. Hier zijn een paar handige:
- Oh My Tmux! – Powerline-thema, muisondersteuning en veel handige functies
- tmux-resurrect – Slaat uw lay-out (en meer) op bij opnieuw opstarten
- tmux-pain-control – Voegt nog een paar keybinds toe voor het beheren van deelvensters
- tmux-better-mouse-mode – Betere muisondersteuning voor sommige CLI-apps
- tmuxifier – Window manager voor tmux die opslaat in configuratiebestanden
- En een heleboel thema's.
Tmux heeft veel meer te bieden dan hier wordt behandeld, maar de kernfunctionaliteit is relatief eenvoudig (wat het een geweldig hulpmiddel maakt).