
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 # 빠져나오기
~/.tmux.conf에 아래 내용 입력하여 tmux Config 설정해주기
# ctrl + b 대신 ctrl + a 로 PREFIX 사용 가능
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
# Pane을 이동할 때 마우스 사용 가능
set -g mouse on
# 마우스 휠을 이용한 스크롤 가능
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
# 히스토리 버퍼 크기 설정 (스크롤백 라인 수)
set-option -g history-limit 20000
# Pane 표시
set -g pane-border-format " #{pane_index} #{pane_current_command} "
set -g pane-border-status top
set -g pane-border-lines double
set -g mode-style "fg=#cdd6f4,bg=#313244,bold"
# # === 플러그인 리스트 ===
# set -g @plugin 'tmux-plugins/tpm'
# set -g @plugin 'tmux-plugins/tmux-resurrect'
# set -g @plugin 'tmux-plugins/tmux-continuum'
# # === Dracula 상태바 ===
# set -g @dracula-show-powerline false
# set -g @dracula-show-left-icon "#S"
# set -g @dracula-plugins "cpu-usage ram-usage cwd git time"
# set -g @dracula-show-empty-plugins false
# set -g @dracula-cwd-max-dirs "1"
# set -g @dracula-refresh-rate 1
# set -g @dracula-git-disable-status true
# run-shell ~/.tmux/plugins/dracula/tmux/dracula.tmux
# # === TPM 실행 ===
# run-shell -b ~/.tmux/plugins/tpm/tpm
파일 저장 후, 터미널에 아래 명령어를 입력하여 변경된 설정을 즉시 적용합니다.
tmux source-file ~/.tmux.conf
주석 처리된 플러그인 기능을 정상적으로 사용하려면 먼저 TPM을 설치해야 합니다. 터미널에서 아래 명령어를 실행하세요.
git clone [https://github.com/tmux-plugins/tpm](https://github.com/tmux-plugins/tpm) ~/.tmux/plugins/tpmTPM 설치와 source-file 적용이 완료되었다면, tmux 내부에서 플러그인을 실제로 업데이트해야 합니다.
tmux를 실행합니다.Prefix + I (Ctrl + a를 누른 뒤, 대문자 I)를 눌러 설정된 플러그인들을 업데이트해야 합니다.<참고>
https://hbase.tistory.com/200
<이미지 출처>
https://knackin.tistory.com/4