본문으로 건너뛰기
AICosmus

Where tech meets the everyday — AI, fintech, swimming, and cars.

AICosmus

Where tech meets the everyday — AI, fintech, swimming, and cars.

  • 홈
  • IT기술
    • RAG
    • GRPC
    • Kotlin
    • LLM
    • 금융 IT
    • 에이전트
    • 제로Trust
    • 자동화
  • 일상
    • 자동차
    • 경제/재테크
    • 생활정보
  • About
    • Contact
    • Terms of Service
    • Disclaimer
    • Privacy – Policy
  • 홈
  • IT기술
    • RAG
    • GRPC
    • Kotlin
    • LLM
    • 금융 IT
    • 에이전트
    • 제로Trust
    • 자동화
  • 일상
    • 자동차
    • 경제/재테크
    • 생활정보
  • About
    • Contact
    • Terms of Service
    • Disclaimer
    • Privacy – Policy
tmux 멀티플렉서가 실행된 터미널 화면
IT기술

tmux 사용법 총정리 — 터미널 멀티플렉서 실전 가이드

By AICosmus
2026년 07월 09일 13 Min Read
0

SSH로 원격 서버에 접속해 작업하다가 네트워크가 잠깐 끊겼을 뿐인데, 한 시간 넘게 돌리던 빌드가 통째로 날아간 경험이 있으신가요? 혹은 터미널 창을 열댓 개씩 띄워 놓고 “이 창이 어떤 서버였더라” 하며 헤맨 적은요? tmux는 이 두 가지 고통을 단번에 해결하는 터미널 멀티플렉서로, 하나의 터미널 안에서 여러 세션을 만들고 자유롭게 오가며 작업할 수 있게 해 줍니다.

tmux를 한마디로 정의하면, 하나의 터미널 안에서 여러 작업 공간을 만들고, 그 상태를 서버에 유지해 주는 도구입니다. 접속이 끊겨도 작업은 그대로 살아 있고, 다시 붙이면(attach) 끊기기 직전 화면이 그대로 돌아옵니다. Docker 컨테이너를 관리하면서 동시에 로그를 보고, 옆에서 코드를 편집하는 일이 터미널 하나에서 가능해집니다.

이 글에서는 tmux를 처음 접하는 분도 바로 실무에 적용할 수 있도록, 설치부터 핵심 명령어, 커스터마이징, 실전 시나리오, 플러그인까지 빠짐없이 정리합니다.

tmux가 필요한 순간

터미널에서 일하는 시간이 하루에 30분만 넘어도 tmux는 삶을 바꿔 놓습니다. 구체적으로 다음과 같은 상황에서 빛을 발합니다.

  • SSH 세션 보호 — 원격 서버에서 오래 걸리는 작업(빌드, 데이터 처리, 모델 학습)을 돌릴 때, 네트워크가 끊기거나 노트북 덮개를 닫아도 프로세스가 죽지 않습니다.
  • 화면 분할 — 하나의 터미널 창을 가로·세로로 자유롭게 나눠 코드 편집, 로그 모니터링, 테스트 실행을 한 화면에서 동시에 합니다.
  • 컨텍스트 전환 — 프로젝트 A 작업 세션과 프로젝트 B 작업 세션을 따로 만들어 두고, 단축키 하나로 즉시 전환합니다.
  • 페어 프로그래밍 — 같은 tmux 세션에 두 사람이 동시에 붙으면 실시간으로 같은 화면을 공유하면서 작업할 수 있습니다.
  • 재현 가능한 레이아웃 — 매일 아침 같은 배치의 작업 환경을 스크립트 한 줄로 복원합니다.

screen이라는 비슷한 도구를 써 보신 분도 있을 텐데, tmux는 screen의 후속 세대로 설계되어 더 직관적인 명령 체계, 풍부한 스크립팅 지원, 활발한 플러그인 생태계를 갖추고 있습니다. 2026년 기준으로 서버 관리와 개발 환경의 사실상 표준 터미널 멀티플렉서라고 할 수 있습니다.

설치 방법

tmux는 거의 모든 유닉스 계열 시스템에서 패키지 매니저 한 줄로 설치할 수 있습니다.

Ubuntu / Debian (WSL2 포함)

윈도우에서 WSL2를 사용하고 있다면 WSL 터미널 안에서 동일하게 설치하면 됩니다.

sudo apt update && sudo apt install -y tmux

macOS

brew install tmux

Fedora / RHEL 계열

sudo dnf install -y tmux

설치 확인

tmux -V
# 출력 예: tmux 3.5a

버전이 출력되면 준비 완료입니다. 2026년 7월 기준 최신 안정 버전은 3.5a이며, 대부분의 배포판 패키지 매니저가 3.3 이상을 제공합니다. 이 글의 모든 내용은 tmux 3.0 이상에서 동작합니다.

tmux 세션-윈도우-페인 3계층 구조 다이어그램 - 터미널 멀티플렉서

터미널 멀티플렉서 핵심 개념: 세션, 윈도우, 페인

tmux를 효과적으로 쓰려면 세 가지 계층 구조를 먼저 이해해야 합니다. 이것만 잡으면 나머지 명령어는 자연스럽게 따라옵니다.

세션(Session)

tmux의 최상위 단위입니다. 하나의 세션은 독립적인 작업 환경 전체를 의미합니다. 예를 들어 “web-project” 세션, “data-pipeline” 세션처럼 프로젝트별로 나누는 것이 일반적입니다. 세션은 서버 프로세스에 의해 유지되므로 터미널을 닫아도(detach) 살아 있습니다.

윈도우(Window)

세션 안에 존재하는 탭이라고 생각하면 됩니다. 브라우저의 탭처럼 여러 윈도우를 만들어 놓고 번호나 이름으로 전환합니다. 하나의 세션에 윈도우를 10개 이상 만들 수도 있지만, 실무에서는 3~5개 정도가 관리하기 편합니다.

페인(Pane)

하나의 윈도우를 분할한 영역입니다. 가로로 나누거나 세로로 나눠서 한 화면에 여러 셸을 동시에 볼 수 있습니다. IDE의 분할 편집기와 비슷한 개념입니다.

정리하면 세션 > 윈도우 > 페인의 포함 관계이며, 각 페인이 독립된 셸 하나를 실행합니다.

프리픽스 키

tmux의 모든 단축키는 프리픽스 키를 먼저 누른 뒤 실제 명령 키를 누르는 2단계 방식입니다. 기본 프리픽스는 Ctrl + b입니다. 예를 들어 “새 윈도우 만들기”는 Ctrl + b를 누르고 손을 뗀 다음 c를 누릅니다. 이 글에서는 프리픽스를 prefix로 표기합니다.

세션 관리 명령어

tmux를 실행하고 세션을 다루는 가장 기본적인 명령어부터 정리합니다.

세션 만들기

# 이름 없이 세션 생성 (0, 1, 2... 자동 번호)
tmux

# 이름을 지정해서 생성 (권장)
tmux new -s my-project

# 생성하면서 특정 디렉토리에서 시작
tmux new -s api-server -c ~/projects/api

세션 이름을 지정하면 나중에 여러 세션 사이를 오갈 때 훨씬 편합니다. 항상 의미 있는 이름을 붙이는 습관을 들이세요.

세션에서 나가기(Detach)

세션을 죽이지 않고 빠져나오는 것을 detach라고 합니다.

# 단축키
prefix → d

# 명령어
tmux detach

detach하면 터미널은 원래 셸로 돌아가지만, tmux 세션은 백그라운드에서 계속 살아 있습니다. SSH 연결이 끊겨도 동일하게 동작합니다.

세션 목록 보기

tmux ls
# 출력 예:
# my-project: 3 windows (created Wed Jul  9 10:30:00 2026)
# data-pipeline: 1 windows (created Wed Jul  9 11:00:00 2026)

세션에 다시 붙기(Attach)

# 마지막으로 사용한 세션에 붙기
tmux attach

# 특정 세션 이름으로 붙기
tmux attach -t my-project

# 줄여서
tmux a -t my-project

세션 종료

# 세션 안에서 종료
exit     # 마지막 윈도우의 마지막 페인에서 exit하면 세션 자체가 종료

# 외부에서 특정 세션 종료
tmux kill-session -t my-project

# 모든 세션 종료
tmux kill-server

세션 간 전환

# 단축키 — 세션 목록에서 선택
prefix → s

# 이전/다음 세션
prefix → (    # 이전 세션
prefix → )    # 다음 세션

prefix → s를 누르면 인터랙티브한 세션 목록이 나타나 화살표 키로 선택할 수 있어 가장 많이 쓰는 전환 방법입니다.

tmux 핵심 단축키 참조 카드

윈도우 관리 명령어

세션 안에서 여러 탭(윈도우)을 만들고 전환하는 명령어입니다.

윈도우 만들기·닫기

# 새 윈도우 생성
prefix → c

# 윈도우 이름 변경
prefix → ,    # 프롬프트가 나타나면 이름 입력

# 현재 윈도우 닫기
prefix → &    # 확인 프롬프트(y/n)가 나타남
# 또는 그냥 exit 입력

윈도우 전환

# 번호로 직접 이동 (0번부터 시작)
prefix → 0    # 0번 윈도우로
prefix → 1    # 1번 윈도우로
prefix → 2    # 2번 윈도우로

# 이전/다음 윈도우
prefix → p    # 이전(previous)
prefix → n    # 다음(next)

# 마지막으로 사용한 윈도우로 토글
prefix → l

# 윈도우 목록에서 선택
prefix → w

prefix → w는 세션과 윈도우를 트리 형태로 한눈에 보여 주기 때문에 세션이 여러 개일 때도 유용합니다. prefix → s와 비슷하지만 윈도우 레벨까지 펼쳐서 보여 준다는 차이가 있습니다.

페인 관리 명령어

화면을 분할해서 여러 작업을 한눈에 보는 것이 tmux의 꽃입니다.

페인 분할

# 가로 분할 (위아래로 나뉨)
prefix → "

# 세로 분할 (좌우로 나뉨)
prefix → %

기본 단축키가 직관적이지 않다고 느낄 수 있는데, 뒤에서 설정 파일로 -와 |로 바꾸는 방법을 알려 드리겠습니다.

페인 이동

# 화살표 키로 이동
prefix → ←    # 왼쪽 페인
prefix → →    # 오른쪽 페인
prefix → ↑    # 위쪽 페인
prefix → ↓    # 아래쪽 페인

# 다음 페인으로 순환
prefix → o

# 페인 번호 표시 후 번호로 이동
prefix → q    # 번호가 표시되면 해당 숫자 키 입력

페인 크기 조절

# 프리픽스를 누른 상태에서 화살표 키 (반복 입력 가능)
prefix → Ctrl+←    # 왼쪽으로 축소
prefix → Ctrl+→    # 오른쪽으로 확대
prefix → Ctrl+↑    # 위로 확대
prefix → Ctrl+↓    # 아래로 축소

페인 레이아웃 프리셋

# 레이아웃 순환 (5가지 프리셋을 돌아가며 적용)
prefix → Space

# 개별 레이아웃 직접 선택
prefix → Alt+1    # even-horizontal (균등 가로 배치)
prefix → Alt+2    # even-vertical (균등 세로 배치)
prefix → Alt+3    # main-horizontal (메인 위 + 하단 분할)
prefix → Alt+4    # main-vertical (메인 왼쪽 + 우측 분할)
prefix → Alt+5    # tiled (타일형 균등 배치)

페인 기타 조작

# 현재 페인을 전체 화면으로 확대/복원 (토글)
prefix → z

# 현재 페인을 새 윈도우로 분리
prefix → !

# 페인 닫기
prefix → x    # 확인 프롬프트
# 또는 exit 입력

# 페인 위치 교환
prefix → {    # 이전 위치와 교환
prefix → }    # 다음 위치와 교환

prefix → z는 특히 유용합니다. 분할된 좁은 페인에서 잠깐 전체 화면으로 내용을 확인하고 다시 원래 레이아웃으로 돌아갈 수 있습니다.

복사 모드와 스크롤

tmux에서 화면을 위로 스크롤하거나 텍스트를 복사하려면 복사 모드에 진입해야 합니다.

# 복사 모드 진입
prefix → [

# 복사 모드에서의 조작
↑/↓/←/→           # 커서 이동
Page Up / Page Down  # 페이지 단위 스크롤
g                    # 맨 위로
G                    # 맨 아래로
/검색어              # 아래 방향 검색
?검색어              # 위 방향 검색
n                    # 다음 검색 결과
N                    # 이전 검색 결과

# 텍스트 선택 및 복사 (emacs 모드 기본)
Ctrl+Space           # 선택 시작
Alt+w                # 선택 영역 복사

# vi 모드 설정 시
Space                # 선택 시작
Enter                # 선택 영역 복사

# 복사 모드 종료
q 또는 Esc

# 붙여넣기
prefix → ]

많은 사용자가 vi 모드를 선호하는데, 설정 파일에서 set-window-option -g mode-keys vi를 추가하면 됩니다. 이렇게 하면 hjkl 이동, v로 선택 시작, y로 복사 같은 vim 스타일 키가 작동합니다.

.tmux.conf 커스터마이징

tmux의 기본 설정은 솔직히 불편한 부분이 많습니다. ~/.tmux.conf 파일을 만들어 자주 쓰는 설정을 잡아 두면 생산성이 크게 올라갑니다. 아래는 실무에서 검증된 추천 설정입니다.

.tmux.conf 설정 전후 비교 일러스트

기본 추천 설정

# ──────────────────────────────────────
# 프리픽스 키 변경: Ctrl+b → Ctrl+a
# ──────────────────────────────────────
unbind C-b
set -g prefix C-a
bind C-a send-prefix

# ──────────────────────────────────────
# 마우스 지원 (스크롤, 페인 클릭, 크기 조절)
# ──────────────────────────────────────
set -g mouse on

# ──────────────────────────────────────
# 윈도우·페인 번호를 1부터 시작
# ──────────────────────────────────────
set -g base-index 1
setw -g pane-base-index 1

# ──────────────────────────────────────
# 직관적인 페인 분할 키
# ──────────────────────────────────────
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
unbind '"'
unbind %

# ──────────────────────────────────────
# 새 윈도우도 현재 경로에서 열기
# ──────────────────────────────────────
bind c new-window -c "#{pane_current_path}"

# ──────────────────────────────────────
# vi 스타일 복사 모드
# ──────────────────────────────────────
setw -g mode-keys vi
bind -T copy-mode-vi v send-keys -X begin-selection
bind -T copy-mode-vi y send-keys -X copy-selection-and-cancel

# ──────────────────────────────────────
# 페인 이동을 vim 방향키로
# ──────────────────────────────────────
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

# ──────────────────────────────────────
# 페인 크기 조절 (대문자 방향)
# ──────────────────────────────────────
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5

# ──────────────────────────────────────
# 256 컬러 + True Color 지원
# ──────────────────────────────────────
set -g default-terminal "tmux-256color"
set -ag terminal-overrides ",xterm-256color:RGB"

# ──────────────────────────────────────
# Esc 지연 제거 (vim 사용자 필수)
# ──────────────────────────────────────
set -sg escape-time 0

# ──────────────────────────────────────
# 히스토리 버퍼 확대
# ──────────────────────────────────────
set -g history-limit 50000

# ──────────────────────────────────────
# 설정 파일 즉시 리로드 단축키
# ──────────────────────────────────────
bind r source-file ~/.tmux.conf \; display "Config reloaded!"

각 설정의 의미

프리픽스를 Ctrl+a로 변경하는 것은 가장 보편적인 커스터마이징입니다. Ctrl+b는 왼손만으로 누르기 어려운 반면, Ctrl+a는 키보드 왼쪽 끝에서 새끼손가락 하나로 자연스럽게 누를 수 있습니다.

마우스 지원을 켜면 스크롤 휠로 히스토리를 올려 볼 수 있고, 페인 경계를 드래그해서 크기를 조절하거나 페인을 클릭해서 전환할 수 있습니다. 단축키에 익숙해지기 전까지 마우스 지원은 큰 도움이 됩니다.

페인 분할을 |와 -로 변경하면 세로 분할은 세로선, 가로 분할은 가로선으로 직관적으로 기억됩니다. -c "#{pane_current_path}"를 붙이면 새 페인이 현재 작업 디렉토리에서 열리는데, 이 옵션 없이는 홈 디렉토리에서 열리기 때문에 매번 cd를 쳐야 하는 불편이 생깁니다.

escape-time을 0으로 설정하는 것은 vim이나 Neovim 사용자에게 필수입니다. 기본값(500ms)이면 vim에서 Esc를 누른 뒤 반응이 늦어 답답합니다.

설정 파일을 수정한 뒤에는 tmux 안에서 prefix → r을 누르면 즉시 반영됩니다. tmux를 재시작할 필요가 없습니다.

상태 바 꾸미기

tmux 하단의 상태 바도 설정으로 커스터마이징할 수 있습니다.

# 상태 바 색상
set -g status-style 'bg=#1e1e2e fg=#cdd6f4'

# 왼쪽: 세션 이름
set -g status-left '#[fg=#89b4fa,bold] #S '
set -g status-left-length 30

# 오른쪽: 날짜 시간
set -g status-right '#[fg=#a6adc8] %Y-%m-%d %H:%M '

# 현재 윈도우 강조
setw -g window-status-current-style 'fg=#f38ba8 bold'
setw -g window-status-current-format ' #I:#W '

# 나머지 윈도우
setw -g window-status-style 'fg=#6c7086'
setw -g window-status-format ' #I:#W '

상태 바에 세션 이름과 시간을 표시하는 정도가 깔끔합니다. 너무 많은 정보를 넣으면 오히려 산만해집니다.

실전 활용 시나리오

명령어를 외우는 것보다 “이런 상황에서 이렇게 쓴다”를 아는 것이 중요합니다. 실무에서 가장 자주 만나는 다섯 가지 시나리오를 정리합니다.

시나리오 1: SSH 원격 서버 장기 작업

가장 클래식한 사용법입니다. 원격 서버에서 빌드, 데이터 처리, 모델 학습 같은 오래 걸리는 작업을 돌릴 때 tmux 세션 안에서 실행합니다.

# 1. 서버에 SSH 접속
ssh [email protected]

# 2. tmux 세션 생성
tmux new -s training

# 3. 작업 실행
python train.py --epochs 100

# 4. 퇴근 전 detach (Ctrl+a → d)
# 집에 가도 학습은 계속 돌아감

# 5. 다음 날 다시 접속해서 확인
ssh [email protected]
tmux a -t training
# 학습 로그가 그대로 보임

이 워크플로우의 핵심은 SSH 연결과 tmux 세션이 독립적이라는 점입니다. SSH는 단지 tmux 세션에 “붙는” 수단일 뿐이고, tmux 세션은 서버 프로세스로 독자적으로 살아 있습니다.

시나리오 2: 웹 개발 작업 환경

프론트엔드와 백엔드를 동시에 돌리면서 로그도 보는 전형적인 개발 환경을 tmux로 구성합니다.

# 세션 생성
tmux new -s webapp

# 윈도우 1 (자동 생성됨): 코드 편집
vim .

# 윈도우 2: 백엔드 서버
prefix → c
cd backend && python -m uvicorn app:app --reload

# 윈도우 3: 프론트엔드 서버  
prefix → c
cd frontend && npm run dev

# 윈도우 4: Git + 기타 명령어
prefix → c

이렇게 하면 prefix → 1으로 에디터, prefix → 2로 백엔드 로그, prefix → 3으로 프론트엔드 로그를 바로 확인할 수 있습니다.

tmux를 활용한 개발 워크플로우 일러스트

시나리오 3: Docker 컨테이너 모니터링

여러 컨테이너의 로그를 한 화면에서 동시에 모니터링할 때 페인 분할이 진가를 발휘합니다.

# 세션 생성
tmux new -s docker-mon

# 상단: docker compose 상태
docker compose ps -a

# 하단 분할
prefix → -
docker compose logs -f nginx

# 좌우 분할
prefix → |
docker compose logs -f api

# 결과: 상단에 컨테이너 목록, 하단 왼쪽에 nginx 로그,
#       하단 오른쪽에 API 로그가 실시간으로 흐름

특정 페인의 로그를 자세히 보고 싶으면 prefix → z로 전체 화면으로 확대했다가 다시 누르면 원래 레이아웃으로 돌아갑니다.

시나리오 4: 여러 서버 동시 관리

서버 3대에 동일한 명령어를 동시에 보내야 할 때, tmux의 동기화 모드가 유용합니다.

# 페인 3개를 만들고 각각 다른 서버에 SSH 접속
tmux new -s servers
ssh server1
prefix → |    # 분할 후
ssh server2
prefix → |    # 분할 후
ssh server3

# 동기화 활성화: 입력이 모든 페인에 동시 전달
prefix → :    # 명령 모드 진입
setw synchronize-panes on

# 이제 한 번 타이핑하면 3대 서버에서 동시에 실행
sudo apt update && sudo apt upgrade -y

# 동기화 해제
prefix → :
setw synchronize-panes off

동기화를 자주 쓴다면 설정 파일에 토글 단축키를 추가하면 편합니다.

bind S setw synchronize-panes \; display "Sync #{?synchronize-panes,ON,OFF}"

시나리오 5: 자동화 스크립트로 환경 복원

매일 같은 레이아웃을 쓴다면 셸 스크립트로 자동화할 수 있습니다.

#!/bin/bash
# dev-layout.sh — 개발 환경 자동 구성

SESSION="dev"

# 기존 세션이 있으면 붙기
tmux has-session -t $SESSION 2>/dev/null
if [ $? -eq 0 ]; then
    tmux attach -t $SESSION
    exit 0
fi

# 새 세션: 윈도우 1 = 에디터
tmux new-session -d -s $SESSION -n editor -c ~/projects/myapp
tmux send-keys -t $SESSION:editor 'vim .' Enter

# 윈도우 2 = 서버
tmux new-window -t $SESSION -n server -c ~/projects/myapp
tmux send-keys -t $SESSION:server 'python -m uvicorn app:app --reload' Enter

# 윈도우 3 = 모니터링 (상하 분할)
tmux new-window -t $SESSION -n monitor
tmux send-keys -t $SESSION:monitor 'htop' Enter
tmux split-window -v -t $SESSION:monitor
tmux send-keys -t $SESSION:monitor 'docker compose logs -f' Enter

# 윈도우 4 = 터미널
tmux new-window -t $SESSION -n shell -c ~/projects/myapp

# 첫 번째 윈도우(에디터)를 선택하고 세션에 붙기
tmux select-window -t $SESSION:editor
tmux attach -t $SESSION

이 스크립트를 ~/bin/dev-layout.sh에 저장하고 실행 권한을 주면, 아침에 dev-layout.sh 한 줄로 전체 개발 환경이 복원됩니다. 기존 세션이 있으면 그대로 붙고, 없으면 새로 만듭니다.

필수 플러그인: TPM과 추천 3종

tmux 자체로도 충분히 강력하지만, 플러그인을 더하면 한 단계 더 편리해집니다. tmux 플러그인은 TPM(Tmux Plugin Manager)으로 관리합니다.

TPM 설치

git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

~/.tmux.conf 맨 아래에 다음을 추가합니다.

# 플러그인 목록
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'

# TPM 초기화 (이 줄은 반드시 설정 파일 맨 마지막에)
run '~/.tmux/plugins/tpm/tpm'

설정을 리로드한 뒤 prefix → I(대문자 i)를 누르면 플러그인이 자동으로 설치됩니다.

tmux-sensible

tmux 커뮤니티에서 합의된 기본 설정 모음입니다. UTF-8 인코딩, 히스토리 확대, 상태 바 갱신 간격 같은 합리적인 기본값을 한꺼번에 적용해 줍니다. 직접 설정한 값이 있으면 그쪽이 우선하므로 충돌 걱정 없이 넣어 두면 됩니다.

tmux-resurrect — 세션 저장과 복원

tmux의 유일한 약점은 서버가 재부팅되면 세션이 사라진다는 것입니다. tmux-resurrect는 세션의 윈도우 배치, 페인 레이아웃, 작업 디렉토리를 파일로 저장하고 복원합니다.

# 현재 상태 저장
prefix → Ctrl+s

# 저장된 상태 복원
prefix → Ctrl+r

서버를 재부팅한 뒤 tmux를 새로 시작하고 prefix → Ctrl+r을 누르면, 이전에 저장한 세션·윈도우·페인이 그대로 되살아납니다. vim 같은 프로그램의 상태까지 복원하는 옵션도 있습니다.

# vim/neovim 세션도 함께 복원
set -g @resurrect-strategy-vim 'session'
set -g @resurrect-strategy-nvim 'session'

tmux-continuum — 자동 저장

tmux-resurrect를 자동으로 실행해 주는 보조 플러그인입니다. 설정한 간격(기본 15분)으로 세션 상태를 자동 저장하고, tmux 서버가 시작될 때 자동으로 마지막 상태를 복원합니다.

# 자동 저장 간격 (분)
set -g @continuum-save-interval '15'

# tmux 시작 시 자동 복원
set -g @continuum-restore 'on'

이 두 플러그인을 조합하면 tmux 세션이 사실상 영구적으로 유지됩니다. 서버 재부팅이나 정전이 있어도 작업 환경을 잃어버리지 않습니다.

tmux 명령어 빠른 참조표

자주 쓰는 명령어를 한눈에 정리합니다. 프리픽스는 Ctrl+a(커스텀) 기준이지만, 기본 설정이면 Ctrl+b로 대체하면 됩니다.

  • 세션: tmux new -s 이름 (생성) · prefix → d (나가기) · tmux a -t 이름 (붙기) · prefix → s (목록 전환)
  • 윈도우: prefix → c (생성) · prefix → , (이름 변경) · prefix → 숫자 (이동) · prefix → w (목록)
  • 페인: prefix → | (세로 분할) · prefix → - (가로 분할) · prefix → hjkl (이동) · prefix → z (전체 화면 토글)
  • 복사: prefix → [ (복사 모드) · v (선택 시작) · y (복사) · prefix → ] (붙여넣기)
  • 기타: prefix → r (설정 리로드) · prefix → : (명령 모드) · prefix → ? (단축키 전체 보기)

자주 하는 실수와 해결법

tmux를 처음 쓸 때 누구나 한 번씩 겪는 문제들을 정리합니다.

  • “sessions should be nested with care” 경고 — tmux 안에서 tmux를 또 실행하려고 할 때 나타납니다. SSH로 원격 서버에 접속한 뒤 그 서버에서 tmux를 쓰는 경우, 로컬 tmux와 원격 tmux가 중첩됩니다. 원격 tmux에 명령을 보내려면 프리픽스 키를 두 번 누르면 됩니다(예: Ctrl+a → Ctrl+a → d).
  • 색상이 이상하게 보임 — set -g default-terminal "tmux-256color" 설정이 없거나, 터미널 에뮬레이터의 TERM 변수가 맞지 않을 때 발생합니다. 위 추천 설정을 적용하면 대부분 해결됩니다.
  • 마우스 스크롤이 안 됨 — set -g mouse on이 빠져 있을 때입니다. 이 설정을 추가하세요.
  • 클립보드에 복사가 안 됨 — tmux의 복사 버퍼는 시스템 클립보드와 기본적으로 분리되어 있습니다. 연동하려면 xclip(Linux)이나 pbcopy(macOS)를 바인딩합니다. WSL2에서는 clip.exe를 사용합니다.
  • 새 페인이 홈 디렉토리에서 열림 — 분할 명령에 -c "#{pane_current_path}"를 추가하면 현재 경로를 유지합니다. 위 추천 설정에 이미 포함되어 있습니다.

마무리: tmux는 투자 대비 효과가 가장 높은 CLI 도구

tmux의 학습 곡선은 30분에서 1시간이면 기본기를 잡을 수 있고, 하루면 실무에서 불편 없이 쓸 수 있습니다. 그러나 돌아오는 생산성 향상은 수년간 누적됩니다.

정리하면 이렇습니다.

  • 세션 보호로 SSH 끊김·네트워크 불안정의 공포에서 해방됩니다.
  • 화면 분할로 터미널 창을 여러 개 띄우는 혼란이 사라집니다.
  • 세션 전환으로 프로젝트 간 컨텍스트 스위칭이 단축키 하나로 줄어듭니다.
  • 스크립트 자동화로 매일 아침 5분 걸리던 환경 셋업이 1초로 바뀝니다.
  • 플러그인으로 재부팅 후에도 작업 환경이 자동 복원됩니다.

이 글에서 소개한 .tmux.conf 추천 설정을 그대로 복사해서 시작한 뒤, 자신의 워크플로우에 맞게 한 줄씩 고쳐 나가는 것이 가장 빠른 적응 방법입니다. 한번 tmux에 익숙해지면 터미널 없는 환경이 오히려 어색해질 만큼, 터미널 작업의 기본기가 되어 줄 것입니다.

참고 자료

  • tmux Wiki (GitHub 공식) — tmux 프로젝트 공식 위키로, 설치·설정·사용법을 포괄적으로 다룹니다.
  • tmux — Wikipedia — 터미널 멀티플렉서 tmux의 역사·기능·비교를 정리한 위키백과 문서입니다.

Tags:

tmux리눅스생산성서버관리터미널
작성자

AICosmus

Follow Me
다른 기사
컨텍스트 윈도우 관리 대시보드 일러스트
Previous

[온프레미스 AI Assistant 아키텍처 — Qwen3·Qwen3-VL 14일 설계] 8/14화: Qwen3 프롬프트·컨텍스트 아키텍처 실전 설계

opencode 내장 툴 활용 개념 일러스트
Next

[opencode 12일 집중 — 터미널 네이티브 AI 코딩 에이전트 완전 정복] 6/12화: opencode 내장 툴 완전 가이드 — 파일·셸·검색·LSP 실전 활용

댓글 없음! 첫 댓글을 남겨보세요.

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

최신 글

  • [opencode 시즌 2 심화 — 나만의 도메인 특화 에이전트 만들기] 1/12화: opencode 에이전트 아키텍처 완전 해부 — 2026 Primary·Subagent 5계층 구조
  • Kotlin 코루틴 핵심 5가지 개념과 실전 활용법
  • [opencode 12일 집중 — 터미널 네이티브 AI 코딩 에이전트 완전 정복] 12/12화: opencode 로컬 모델 완전 가이드 2026 — Ollama·에어갭·규제 환경 도입 체크리스트
  • LLM 파인튜닝 실전 5단계 — 2026 LoRA 완벽 가이드
  • 금융 앱 생체인증 작동 원리, 지문·얼굴 보안 5단계 완전 해부

최신 댓글

  1. [온프레미스 AI Assistant 아키텍처 — Qwen3·Qwen3-VL 14일 설계] 9/14화: 온프레미스 RAG 파이프라인 — bge-m3·Qdrant 자체 호스팅 실전의 Dockerfile 최적화 실전 가이드 — 빌드·크기·보안 총정리 - AICosmus
  2. RAG 평가 프레임워크, 답변 품질을 수치로 측정하는 법의 RAG 리랭킹 가이드, 검색 결과 정확도 높이는 법 - AICosmus
  3. RAG 평가 프레임워크, 답변 품질을 수치로 측정하는 법의 RAG 리랭킹 가이드, 검색 결과 정확도 높이는 법 - AICosmus
  4. gRPC Interceptor 완벽 가이드: 인증부터 로깅까지의 gRPC 데드라인과 재시도 정책으로 장애 전파 차단하기 - AICosmus
  5. gRPC Interceptor 완벽 가이드: 인증부터 로깅까지의 gRPC 데드라인과 재시도 정책으로 장애 전파 차단하기 - AICosmus
  • About
  • Contact
  • Disclaimer
  • Privacy - Policy
  • Terms of Service
Copyright 2026 — AICosmus. All rights reserved. Blogsy WordPress Theme