tmux
터미널 멀티플렉서. SSH 끊겨도 세션 유지, 하나의 터미널에서 여러 창 분할 가능.
Pi 원격 작업할 때 필수 도구.
설치
sudo apt install tmux -y
세션
tmux의 최상위 단위. SSH 연결이 끊겨도 세션은 서버에 살아있음.
tmux # 새 세션 시작
tmux new -s 이름 # 이름 붙여서 새 세션
tmux ls # 세션 목록
tmux attach -t 이름 # 세션 재접속
tmux kill-session -t 이름 # 세션 종료
Prefix 키
tmux 단축키는 전부 Prefix → 다음 키 순서.
기본 Prefix = Ctrl + b
윈도우 (탭)
| 단축키 | 동작 |
Prefix c | 새 윈도우 생성 |
Prefix , | 윈도우 이름 변경 |
Prefix n | 다음 윈도우 |
Prefix p | 이전 윈도우 |
Prefix 0~9 | 번호로 윈도우 이동 |
Prefix & | 현재 윈도우 닫기 |
Pane (화면 분할)
| 단축키 | 동작 |
Prefix % | 좌우 분할 |
Prefix " | 상하 분할 |
Prefix 방향키 | pane 이동 |
Prefix Ctrl+방향키 | pane 크기 조절 |
Prefix z | 현재 pane 전체화면 토글 |
Prefix x | 현재 pane 닫기 |
세션 detach / attach
# 세션에서 나가기 (세션은 백그라운드에서 계속 실행)
Prefix d
# 다시 붙기
tmux attach -t 이름
# 세션이 하나면 그냥
tmux attach
SSH로 Pi 접속 → tmux 실행 → 작업 → Prefix d → SSH 끊기
→ 나중에 다시 SSH 접속 → tmux attach → 작업 그대로
복사 모드 (스크롤)
Prefix [ # 복사 모드 진입 (스크롤 가능해짐)
q # 복사 모드 나가기
Space # 복사 시작점 선택
Enter # 복사
Prefix ] # 붙여넣기
자주 쓰는 패턴
# Pi에서 서버 띄우고 나가기
tmux new -s server
npm run dev
# Prefix d → SSH 끊어도 서버 계속 실행됨
# 작업 중 화면 3분할
Prefix % # 좌우 분할
Prefix → # 오른쪽으로
Prefix " # 상하 분할
# → 왼쪽: 에디터, 오른쪽 위: 서버, 오른쪽 아래: 쉘
설정 파일
~/.tmux.conf
# Prefix를 Ctrl+a 로 변경 (screen 스타일, 손이 편함)
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# 마우스 스크롤 활성화
set -g mouse on
# 윈도우 번호 1부터 시작
set -g base-index 1
# 설정 리로드
bind r source-file ~/.tmux.conf \; display "Reloaded"
설정 변경 후 적용: Prefix r (위 설정 추가했을 때) 또는 tmux 재시작.