Tmux vs Screen
The unix command screen
and tmux
have similar goal, but tmux
is more complex than screen
.
Quick Tips
In order to start using tmux
without worrying about forgetting keys, remember follows one after another.
- Help using key
Ctrl+b ?
- Detach using key
Ctrl+b d
- Resume using command
tmux a
- Create window using command
Ctrl+b c
- Navigate windows using key
Ctrl+b w
, then arrow keys - Rename window using key
Ctrl+b ,
- Status bar has window name and
<id>
- Switch window using key
Ctrl+b <id>
Commands
screen | tmux | |
---|---|---|
Startup | screen |
tmux |
Starting Named Session | screen -S session_name |
tmux new -s session_name |
List running session | screen -ls |
tmux ls |
Reattach | screen -r |
|
Reattach by id | screen -r <id> |
tmux attach-session -t <id> |
Keys
screen | tmux | |
---|---|---|
Help | Ctrl+a ? |
Ctrl+b ? |
Create a new shell (without window) | Ctrl+a c |
|
Switch to next shell | Ctrl+a space |
|
Switch to previous shell | Ctrl+a backspace |
|
Create a new window (with shell) | Ctrl+b c |
|
List all shells | Ctrl+a " |
|
Choose window from a list | Ctrl+b w |
|
Switch to N'th shell | Ctrl+a <n> |
|
Switch to N'th window | Ctrl+b <n> |
|
Rename the current window | Ctrl+a A |
Ctrl+b , |
Split current region horizontally into two regions | Ctrl+a S |
Ctrl+b % |
Split current region vertically into two regions | Ctrl+a | |
Ctrl+b " |
Switch the input focus to the next region | Ctrl+a tab |
Ctrl+b o |
Toggle between the current and previous windows | Ctrl+a Ctrl+a |
Ctrl+b ; |
Close all regions but the current one | Ctrl+a Q |
|
Close the current region | Ctrl+a X |
Ctrl+b x |
Detach from session | Ctrl+a d |
Ctrl+b d |
Sent Ctrl+a to region |
Ctrl+a a |
Customize
screen
Customization can be done in /etc/screenrc
and ~/.screenrc
. Sample of contents is shown below.
# Turn off the welcome message
startup_message off
# Disable visual bell
vbell off
# Set scrollback buffer to 10000
defscrollback 10000
# Customize the status line
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'
tmux
Customization can be done in ~/.tmux.conf
. Sample of contents is shown below.
# Improve colors
set -g default-terminal 'screen-256color'
# Set scrollback buffer to 10000
set -g history-limit 10000
# Customize the status line
set -g status-fg green
set -g status-bg black
References
How To Use Linux Screen
Getting started with Tmux
How to split the terminal into more than one "view"?