Session
Window
Pane
tmux가 관리하는 가장 큰 실행 단위.
Session을 종료하지 않고 detach한 상태라면 Session은 백그라운드에서 계속 실행된다.
추후 Session에 다시 attach할 수 있다.
Terminal 화면으로 보고 있는 View.
하나의 Session을 여러 개의 Window로 구성 가능.
하나의 Window를 여러 개의 Pane으로 구성 가능.
sudo apt install tmux # Ubuntu 및 Debian에 tmux 설치
Session 외부 명령어
tmux # 세션 생성
tmux new -s [SessionNumber or SessionName] # 세션 생성
# ex) tmux new -s Pi
tmux ls # 세션 목록 보기
tmux attach -t [SessionNumber or SessionName] # 세션 다시 접속하기
# ex) tmux attach -t 0
tmux kill-session -t [SessionNumber or SessionName] # 세션 종료
# ex) tmux kill-session -t Pi
Session 내부 명령어 및 명령키
exit # 세션 종료
# PREFIX -> ctrl + b
(PREFIX 누른 후) $ # 세션 이름 수정
(PREFIX 누른 후) d # 세션을 유지한 상태에서 나가기 (detach)
Window (Session 내부 명령키)
ctrl + d # pane -> window 순으로 삭제
# 아래 두 명령어는 해당 Session 안의 아무 윈도우에서나 실행 가능
tmux swap-window -s 0 -t 1 # 0번, 1번 윈도우의 위치를 변경
tmux move-window -s 3 -t 1 # 3번 윈도우의 위치를 1번 위치로 이동
# PREFIX -> ctrl + b
(PREFIX 누른 후) w # 모든 윈도우 목록 보기
(PREFIX 누른 후) c # 새 윈도우 생성
(PREFIX 누른 후) , # 윈도우 이름 수정
(PREFIX 누른 후) 0-9 # window number
(PREFIX 누른 후) n # next window
(PREFIX 누른 후) p # prev window
(PREFIX 누른 후) l # last window
(PREFIX 누른 후) f # find by name (윈도우 이동)
Pane (Session 내부 명령키)
ctrl + d # pane -> window 순으로 삭제
tmux clear-history # Clear Terminal History (tmux 내부에서 clear 명령어 입력 시 History가 위로 올라갈 뿐, 그대로 유지)
# PREFIX -> ctrl + b
(PREFIX 누른 후) % # 세로로 화면 분할
(PREFIX 누른 후) " # 가로로 화면 분할
(PREFIX 누른 후) z # 화면이 분할되어 있을 때, 특정 pane을 확대
(PREFIX 누른 후) 방향키 # Session 내 pane 이동 (분할 된 부분을 의미)
(PREFIX 누른 후) alt + 방향 키 # 화면 크기 조절
# 화면 크기 조절
# 명령어 모드 진입 -> (PREFIX 누른 후) :
(명령어 모드 진입 후) resize-pane -L 5 # left
(명령어 모드 진입 후) resize-pane -R 3 # right
(명령어 모드 진입 후) resize-pane -U 2 # up
(명령어 모드 진입 후) resize-pane -D 8 # down
(PREFIX 누른 후) spacebar # 화면 레이아웃 변경
(PREFIX 누른 후) Page Up # 화면 스크롤
(PREFIX 누른 후) Page Down # 화면 스크롤
esc # 빠져나오기
그 외 명령키 및 Option 지정
# PREFIX -> ctrl + b
(PREFIX 누른 후) ? # 단축키 목록
# 명령어 모드 진입 -> (PREFIX 누른 후) :
(명령어 모드 진입 후) set -g <option-name> <option-value> # 옵션 설정
ex) (명령어 모드 진입 후) setw -g status-style bg=white,fg=black # 하단 Status Bar 및 Font 색깔 지정
(명령어 모드 진입 후) setw -g <option-name> <option-value> # 윈도우 옵션 설정
ex) (명령어 모드 진입 후) setw -g window-status-current-style bg=red # 하단 Status Bar의 Focus된 Window 색깔 지정
(명령어 모드 진입 후) bind-key [-cnr] [-t key-table] key command [arguments] # 키 바인딩
(명령어 모드 진입 후) unbind-key [-acn] [-t key-table] key # 키 언바인딩
~/.tmux.conf에 아래 내용 입력하여 tmux Config 설정해주기
# ctrl + b 대신 ctrl + a 로 PREFIX 사용 가능
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
# ctrl + k로 Clear Terminal History (in MacOS)
bind -n C-k clear-history
# 하단 Status Bar 및 Border Line 색깔 지정
setw -g status-style bg=blue,fg=black
setw -g window-status-current-style bg=white
set -g pane-active-border-style fg=blue
# Pane을 이동할 때 마우스 사용 가능
set -g mouse on
# 마우스 휠을 이용한 스크롤 가능
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
이후 Terminal에 아래 명령어 입력하여 ~/.tmux.conf 적용시켜 tmux Config 자동 설정되게 하기
tmux source-file ~/.tmux.conf
<참고>
https://hbase.tistory.com/200
<이미지 출처>
https://knackin.tistory.com/4