S∆SS.

S∆SS Studio Notes · Tmux · Nº 00

Tmux — 00 Tmux와 네 겹의 구조

사용자 검수 전 — tmux는 terminal multiplexer다. Session, Window, Pane, Client를 먼저 구분하고 기본 prefix가 왜 모든 단축키 앞에 붙는지 정리한다.

§ 00 · tmux — 터미널을 나누고 다시 붙이는 프로그램

tmux는 한 터미널 안에서 여러 터미널 프로그램을 운용하게 하는 terminal multiplexer다. 셸, 편집기, 서버, AI 코딩 도구처럼 서로 다른 프로그램을 Window와 Pane에 나누어 띄우고 한 화면에서 전환한다.

바깥 터미널을 닫거나 원격 접속이 끊겨도 tmux server가 살아 있는 동안 그 안의 프로세스는 계속 실행될 수 있다. 다만 컴퓨터 재부팅, tmux server 종료, 모든 Session 종료까지 견디는 영구 저장 장치는 아니다. 대화 기록의 저장 여부도 tmux가 아니라 각 프로그램이 결정한다.

§ 01 · Server에서 Pane까지 — 네 겹을 구분한다

tmux server는 Session과 그 안의 프로그램 상태를 백그라운드에서 관리한다. Client는 바깥 터미널에서 특정 Session을 화면에 붙여 보는 접속자다. 한 Session에는 여러 Window가 있고, 한 Window에는 하나 이상의 Pane이 있다.

Window는 브라우저의 탭에 가깝다. 한 번에 현재 Window 하나를 화면 가득 보되 번호나 이름으로 전환한다. Pane은 그 Window의 화면을 직사각형으로 쪼갠 칸이다. 키보드 입력은 현재 Window의 active Pane 한 곳으로 간다.

§ 02 · Prefix — Ctrl-b를 누른 뒤 명령 키를 누른다

기본 prefix는 C-b, 곧 Ctrl을 누른 채 b를 누르는 조합이다. 대부분의 tmux 단축키는 C-b를 누르고 손을 뗀 다음 다음 키를 누르는 두 단계다. C-b c라면 Ctrl-b와 c를 동시에 누르는 것이 아니라, prefix를 먼저 보낸 뒤 c를 누른다.

prefix는 “다음 키는 셸이나 실행 중인 프로그램이 아니라 tmux가 받아라”라는 신호다. 이 글의 단축키는 모두 기본 설정 기준이다. 설정 파일에서 prefix나 키 바인딩을 바꿨다면 화면의 실제 설정이 우선한다. C-b ?는 현재 키 목록을 연다.

Read this note at sass.studio.