최근 수정 시각 : 2026-08-12 08:25:32

tmux

tmux
개발자 Nicholas Marriott
최초 출시 2007년 11월 20일
최신 버전 3.6a[1]
개발 언어 C
라이선스 ISC 라이선스
운영체제 유닉스 계열
종류 터미널 멀티플렉서
링크 GitHub

1. 개요2. 역사3. 특징
3.1. 클라이언트-서버 구조3.2. 계층 구조: 세션·윈도우·페인3.3. 프리픽스 키와 명령 체계3.4. 설정 파일
4. 생태계5. 대안 및 비교6. 관련 문서


1. 개요

tmux(티먹스)는 하나의 터미널 화면 안에서 여러 개의 독립된 터미널 세션을 만들고, 접근하고, 제어할 수 있게 해 주는 유닉스 계열용 오픈소스 터미널 멀티플렉서다. 세션을 화면에서 분리(detach)해 백그라운드에서 계속 실행되게 놔두고, 나중에 같은 세션이나 다른 터미널에서 다시 연결(attach)하는 것이 가능해서, 원격 서버 작업이나 오래 걸리는 작업을 다룰 때 특히 널리 쓰인다.

2. 역사

tmux는 Nicholas Marriott가 개발해 2007년 11월 20일 처음 공개했다. 원래는 OpenBSD를 위한 프로그램으로 시작되었으며, 그전까지 사실상 표준으로 쓰이던 터미널 멀티플렉서인 GNU Screen(1987년 출시)을 대체할 만한 더 현대적인 대안을 만드는 것이 목표였다. 더 깔끔한 코드베이스와 스크립팅 기능, 직관적인 설정 문법, 더 나은 창·페인 관리 기능을 갖췄다는 평가를 받으며 점차 사용자를 넓혀 갔다.

리눅스 배포판 쪽으로는 2009년Ubuntu가 tmux 1.3 버전을 정식 패키지로 채택하면서 보급이 크게 늘었고, 2010년 무렵부터는 macOS의 Homebrew를 통해서도 손쉽게 설치할 수 있게 되면서 개발자들 사이에서 빠르게 자리를 잡았다. 원저장소는 OpenBSD의 CVS 저장소에 있었으나, 이후 개발이 GitHub의 tmux/tmux 저장소로 옮겨져 지금도 Nicholas Marriott 본인과 커뮤니티 기여자들에 의해 활발히 유지보수되고 있다.

3. 특징

3.1. 클라이언트-서버 구조

tmux는 클라이언트-서버 모델로 동작한다는 점에서 GNU Screen과 구조적으로 차이가 있다. 세션·창·페인 전체를 관리하는 tmux 서버 프로세스가 백그라운드에서 하나 떠 있고, 사용자가 실행하는 `tmux` 명령은 이 서버에 소켓으로 접속하는 클라이언트 역할을 한다. 덕분에 터미널 접속이 끊기거나 SSH 연결이 끊어져도 서버 프로세스와 그 안에서 돌아가던 프로그램들은 영향을 받지 않고 계속 실행되며, 나중에 다시 접속(`tmux attach`)하면 끊기기 전 상태 그대로 화면을 이어받을 수 있다.

3.2. 계층 구조: 세션·윈도우·페인

tmux의 작업 단위는 세 단계로 나뉜다.
  • 세션(session): 가장 상위 단위로, 보통 프로젝트나 작업 목적 하나에 대응한다. 세션은 화면에서 분리해도 백그라운드에서 계속 실행된다.
  • 윈도우(window): 세션 안에 속한 탭에 해당한다. 하나의 세션 안에 여러 윈도우를 만들어 작업 종류별로 전환하며 쓸 수 있다.
  • 페인(pane): 하나의 윈도우를 수직 또는 수평으로 분할한 개별 터미널 영역이다. 한 화면 안에서 여러 터미널을 동시에 띄워 놓고 볼 수 있게 해 준다.

3.3. 프리픽스 키와 명령 체계

tmux의 모든 단축키는 기본적으로 프리픽스 키(기본값 `Ctrl+b`)를 먼저 누른 뒤 다음 키를 입력하는 방식으로 동작한다. 예를 들어 `Ctrl+b` 다음에 `c`를 누르면 새 윈도우가 생성되고, `d`를 누르면 현재 세션에서 분리된다. 이 프리픽스 키는 설정 파일에서 자유롭게 바꿀 수 있는데, GNU Screen 사용자들이 익숙한 손동작을 그대로 옮겨 오기 위해 프리픽스를 `Ctrl+a`로 바꿔 쓰는 경우가 관례적으로 흔하다.

3.4. 설정 파일

tmux는 홈 디렉터리의 `~/.tmux.conf` 파일을 읽어 시작 시 설정을 적용한다. 이 파일은 셸 스크립트가 아니라 tmux 자체의 명령어 문법으로 작성하며, 키 바인딩 재설정, 상태 표시줄 꾸미기, 자동 실행할 명령 지정 등을 다룰 수 있다.

4. 생태계

tmux 자체의 기능을 확장하는 플러그인 생태계도 활발하다. tmux Plugin Manager(TPM)를 이용하면 여러 플러그인을 설정 파일 한 줄로 설치·관리할 수 있으며, 대표적으로 세션의 상태(열려 있던 윈도우·페인 구성)를 저장했다가 재부팅 후에도 그대로 복원해 주는 tmux-resurrect, 이를 자동화해 주기적으로 세션 상태를 저장하는 tmux-continuum 같은 플러그인이 널리 쓰인다.

5. 대안 및 비교

가장 자주 비교되는 대상은 tmux보다 먼저 나온 GNU Screen이다. GNU Screen은 오랫동안 사실상 표준 자리를 지켰으나, 클라이언트-서버 구조를 갖추지 못한 점, 상대적으로 불편한 설정 문법 등을 이유로 점차 tmux에 사용자를 넘겨주었다는 평가를 받는다. 이 밖에도 Rust로 작성되어 메모리 안전성과 선언적 레이아웃을 내세우는 Zellij, 자체적으로 멀티플렉싱 기능을 내장한 GPU 가속 터미널 WezTerm 등이 최근 등장한 대안으로 언급된다.

6. 관련 문서



[1] 2025년 12월 5일 발행. 확인 시점 기준