tmux

tmux는 GNU Screen과 유사한 기능을 제공하는 터미널 멀티플렉서(Terminal Multiplexer)이며, 사용자에게 하나의 물리적인 터미널 세션 내에서 여러 개의 가상 터미널 창(pane) 및 세션(session)을 동시에 관리할 수 있는 환경을 제공한다.

개요

  • 정식 명칭: tmux (terminal multiplexer)
  • 개발 언어: C
  • 라이선스: ISC 라이선스(오픈소스)
  • 지원 운영체제: 유닉스 계열 시스템(Linux, macOS, *BSD 등) 및 Windows(WSL, Cygwin 등)

역사

tmux는 2007년 Nicholas Marriott에 의해 처음 발표되었다. 초기 버전은 GNU Screen과의 호환성을 목표로 하였으며, 이후 지속적인 유지·보수와 기능 추가가 이루어졌다. 주요 릴리스는 다음과 같다.

버전 발표 연도 주요 변경 사항
1.0 2009 기본 멀티플렉싱 기능 구현
2.0 2013 세션 복제, 워크스페이스 저장 기능 추가
2.4 2015 복합 키 바인딩 및 스크립트 API 개선
3.0 2020 UTF‑8 지원 확대, 성능 최적화
3.2 2022 터미널 창 내 마우스 지원 강화

주요 기능

  1. 세션 관리: 사용자는 하나 이상의 세션을 생성하고, 각각을 독립적으로 시작·정지·재접속할 수 있다.
  2. 창(pane) 분할: 화면을 수평·수직으로 자유롭게 분할하여 다중 작업을 동시에 수행할 수 있다.
  3. 윈도우와 세션 구분: tmux는 세션 안에 여러 개의 윈도우(window)를 두고, 각 윈도우 안에 여러 개의 pane을 배치한다.
  4. 키 바인딩 및 스크립트: 사용자 정의 키 바인딩과 스크립트를 통해 동작을 커스터마이징할 수 있다.
  5. 복구 및 지속성: 네트워크 연결이 끊기거나 터미널이 종료될 경우에도 세션을 백그라운드에 유지하고 재접속이 가능하다.

사용 예시

# 새 세션 생성 및 이름 지정
tmux new -s mysession

# 현재 세션에 새로운 창 추가
tmux new-window -n editor

# 창을 수평 분할
tmux split-window -h

# 세션 목록 보기
tmux ls

# 세션에 재접속
tmux attach -t mysession

배포 및 커뮤니티

tmux는 다양한 배포판의 패키지 관리자를 통해 설치할 수 있다(예: apt, yum, Homebrew). GitHub 저장소(https://github.com/tmux/tmux)에서 소스 코드와 최신 릴리스를 제공하며, 활발한 개발자와 사용자 커뮤니티가 존재한다.

참고 문헌

  • N. Marriott, “tmux – terminal multiplexer,” 2007–2022, https://github.com/tmux/tmux.
  • 자유 소프트웨어 재단(FSF), “tmux License,” ISC License.

※ 본 문서는 확인된 공개 자료에 기반하여 작성되었으며, 추가적인 비공식 정보는 포함하지 않는다.

둘러보기

더 찾아볼 만한 주제