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 press【Ctrl+b d】 to “detach” your session. Then, when you get on internet again, you can resume by tmux a (“a” means “attach”). Btw, 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

Linux Terminal Topic

  1. Linux: Bash Keys, Terminal Keys, Man Page Keys
  2. Linux: Bash Prompt, Add Color, DateTime
  3. Difference Between .bashrc, .profile, .bash_profile, …?
  4. Linux: How to use Virtual Console
  5. Linux: Terminal Control Sequence Keys
  6. Linux: Reset Terminal, Clear Screen History
  7. Linux: tmux Tutorial

  1. Linux: man page: text output, reading non-compressed man page, reading unformatted man page
  2. Linux: Bash Manual in Chapters, Using Emacs for Info
  3. Linux: BASH Shell Misc Tips
  4. Linux: Record a Terminal Session, Logging Shell Output