Linux: tmux Tutorial

By Xah Lee. Date: . Last updated: .

tmux is essential if you work with remote Linux servers.

Suppose you are in a coffee-shop. Then, got a emergency call to fix server. You ssh in and start to work on it. After 1 hour, the coffee-shop is closing and you have to leave. If you close your laptop, you'll be disconnected. But, if you are using tmux, you can just pressCtrl+b d to “detach” your session. Then, when you get on internet again, you can resume by tmux a (“a” means “attach”).

there's also GNU screen for the same purpose, but tmux is better.

to install, sudo apt-get install tmux

using tmux

start it by tmux. Then, you can just use it like a normal terminal.

tmux 2014
tmux

from there, you can ssh to remote server.

tmux runs as a middle-man between your terminal input and output. Your keystrokes are sent to your terminal app, then to tmux (client), then to tmux (server, running locally), then the tmux server sends it to whatever the terminal is connected to, your shell or remote server.

to detach session, press Ctrl+b d. Or, in another terminal, type tmux detach.

to resume (attach), type tmux a in a terminal.

while in tmux, to scroll back previous screen, type Ctrl+b [ to enter the “copy mode”, then you can use arrow keys or page up/down keys. Type q to exit “copy mode”.

That's the basics.

for detail, type man tmux