tmux (terminal multiplexer)
사용자가 단일 단말기 창 또는 원격 터미널 세션 안에서 여러 별도의 터미널 세션에 액세스 할 수 있도록 가상 콘솔을 다중화하는 데 사용한다.
tmux는 많은 가상 터미널을 window와 session 단위로 관리한다. tmux server는 session을 관리하며, tmux client는 tmux server와의 socket 통신을 통해 가상 터미널을 사용자가 원하는 대로 보여준다.
이 글에서는 tmux를 이용한 화면 분할(?) 정도만 간단하게 정리해두려고 한다.
개념
- Session : tmux가 관리하는 가장 큰 실행 단위. 세션에 attach, detach할 수 있으며 detach 한 세션은 종료되지 않고 백그라운드에서 계속 실행된다. 세션은 여러 개의 window로 구성된다.
- Window : 사용자가 보는 터미널 화면. 하나의 세션 내에는 여러 개의 윈도우가 탭처럼 존재하며, 세션에서 윈도우를 전환하면 화면도 새 윈도우로 전환된다.
- Pane : 하나의 윈도우를 분할한 것. 하나의 윈도우를 분할하여 여러 개의 팬을 가질 수 있다.
설치
# CentOS
yum install tmux
# Ubuntu
apt install tmux
실행
tmux
아래에 녹색 상태 표시줄이 생기면서 tmux session 내에 있는 것을 확인할 수 있다.
Pane 추가
tmux는 기본적으로 명령어 접두사로 ctrl+b를 사용한다. 설정에 따라서 ctrl+a를 접두사로 사용하기도 한다.
- 가로로 분할
ctrl+b를 입력한 후, "를 입력한다. 세 키를 같이 누르는 게 아니다.
ctrl+b "
- 세로로 분할
ctrl+b %
Pane 이동
ctrl+b 방향키
오른쪽에 위치하던 커서가 왼쪽으로 이동했음을 알 수 있다.
Pane 삭제
ctrl+d
2개로 생성되어 있던 pane이 한 개로 줄어든 것을 확인할 수 있다.
Session 내의 모든 Pane이 삭제되면 해당 Session도 종료된다.
참고 문서
https://code.snipcademy.com/tutorials/linux-command-line/tmux/pane-management
https://dgkim5360.tistory.com/entry/the-first-steps-for-tmux-terminal-multiplexer