tmux 편하게 쓰자

tmux 편하게 쓰자

2023, Nov 26    

리눅스 서버에서 항상 열어둬야 하는 화면들이 있을 때 터미널을 몇개 열어두고 레이아웃을 맞춰놓고 있었는데 불편해서 tmux를 써보기로 한다.

터미널에서 어떤 작업을 할 때 이전 히스토리를 기억해서 작업을 해야 하는 경우가 많은데 모니터링 세션을 열어두고 필요할 때 해당 화면을 열어 대시보드와 같이 쓸 수도 있다.

tmux 세션에 창을 분할하여 열어두고 편하게 쓸 수 있도록 Alias를 등록하는 방법을 알아본다.

tmux 설치.

$ sudo yum install tmux

모니터링시 여러개의 터미널을 열고 상황을 확인해야 할 때 tmux를 쓰면 터미널을 용도에 맞게 분할할 수 있고 세션으로 관리되어 필요할 때 구성 그대로 불러올 수 있다. 처음에는 명령어모드 전환 및 키 전환이 어려울 수 있는데 한번 익숙해지면 편하게 터미널들을 관리할 수 있다.

기본 명령어는 How to use tmux 를 참고한다.

오래걸리는 작업을 할 때 tmux 세션에서 실행중인 작업은 계속 유지된다. “Ctrl + b + d” 키를 사용하면 해당 세션에서 빠져나와 원래 터미널로 돌아올 수 있고 다른 작업을 하다가 다시 “tmux attach” 명령어로 다시 세션을 열어볼 수 있다.

tmux alias.

명령어는 복잡하지 않지만 명령어모드 전환등 키가 익숙하지 않아 자주 쓰는 항목(New, kill, attach)은 alias로 등록해두고 쓴다.

tmux-new : 세션 이름을 입력하면 기본 3개의 창으로 분할하여 세션을 만든다.
tmux-run : 현재 세션 목록을 보여주고 세션 이름을 입력하면 해당 세션을 실행한다.
tmux-del : 현재 세션 목록을 보여주고 세션 이름을 입력하면 해당 세션을 지운다.

# tmux new-session with 3 pane 
alias tmux-new='func() { echo -n "INPUT SESSION NAME : "; read SESSION_NAME; tmux new-session -s ${SESSION_NAME} \; split-window -h \; split-window -v \; attach; }; func'

# tmux kill-session 
alias tmux-del='func() { tmux ls; echo -n "INPUT SESSION NAME : "; read SESSION_NAME; tmux kill-session -t ${SESSION_NAME} ; }; func'

# tmux attach-session 
alias tmux-run='func() { tmux ls; echo -n "INPUT SESSION NAME : "; read SESSION_NAME; tmux attach-session -t ${SESSION_NAME} ; }; func'

tmux-new

위에서 설정한 tmux-new Alias를 사용해서 monitor 이름으로 3개의 창으로 분리된 세션을 만든다.

tmux new-session -s “세션이름” 으로 세션을 만들고 split-window 를 사용해 오른쪽에 분할된 창을 만든다.

$ tmux-new
INPUT SESSION NAME : monitor

tmux-new

“Ctrl+b d” 키로 detach 한 후에 “tmux ls” 명령어로 실행하고 있는 세션목록을 확인하고, alias 로 만든 “tmux-run” 명령어를 이용해서 목록을 확인하고 세션이름을 입력해서 세션을 attach 할 수 있다.

$ tmux ls
monitor: 1 windows (created Sat Jul 22 19:01:48 2023)

$ tmux-run
monitor: 1 windows (created Sat Jul 22 19:01:48 2023)
INPUT SESSION NAME : monitor

tmux 키 바인딩.

tmux의 명령어 모드는 “Ctrl + b”이며 아래와 같은 키를 주로 사용한다.

ctrl+b d — 세션 유지하면서 빠져나가기.
ctrl+b % — 세로로 분할.
ctrl+b " — 가로로 분할.
ctrl+b 방향키 — 창 이동.
ctrl+b : - tmux 설정 및 명령어 입력.

마우스 스크롤링

“ctrl + b + :” 명령어 입력 모드에서 아래와 같이 입력하면 마우스로 스크롤링을 할 수 있다.

set -g mouse on

tmux.conf

tmux 설정은 ~/tmux.conf 파일에 등록해서 사용할 수 있다. 주로 키 바인딩이나 설정정보를 추가할 때 사용한다.

설정을 바꾸면 아래의 명령어로 동작중인 세션에 설정을 적용한다.

$ tmux source-file ~/.tmux.conf

참고