준호씨의 블로그

tmux 설정 (~/.tmux.conf), 사용법 본문

개발이야기

tmux 설정 (~/.tmux.conf), 사용법

준호씨 2015. 9. 14. 09:52
반응형

개요

tmux 란 terminal multiplexer 의 약자로 터미널 환경을 좀 더 편리하게 만들어 주는 유틸리티이다. 별도의 tmux 세션을 열고 거기 안에서 화면을 분할 (pane) 하여 사용 하거나 탭을 여러개 (window) 를 만들어 사용 할 수 있다. 그리고 터미널 프로그램이 종료 되더라도 기존 작업을 이어서 계속 할 수 있도록 해 준다.

screen 을 잘 아는 유저라면 "어? 이거 screen 이랑 비슷하네?" 라고 생각 할 것이다. screen 과 비슷하지만 screen 의 업데이트까 뜸하다 보니 tmux 가 점점 그 자리를 차지 하는 느낌이랄까?

screen 보다 좋다

개인적으로 screen 사용 기간이 tmux 보다 길지만 (대략 2004년 부터 썼나? 더 전일수도 있고 더 후일수도 있음) tmux 를 사용하고 부터 tmux 를 사용 할 수 있는 환경이라면 일단 tmux 부터 설정 하고 본다. tmux 가 훨씬 사용하기 편리 하기 때문이다. 특히 세로로 화면을 분리 한다거나 화면 분할 기능 등 유용한 기능들이 많다. 그리고 좀 더 안정적이다. 개인적으로 screen 에서 tmux 로 넘어오게된 주요 이유 중 하나는 안정성이다. screen 은 오래 쓰다 보면 종종 해당 세션을 사용 할 수 없게 되는 현상이 발생하기 시작한다. 아마 이후 버전에서 패치 되었을지도 모르지만 몇 번 screen 만 믿다가 세션 몇번 날리고 나면 상당히 충격적이다.

(2015.09.13 기준 확인 해 보니 https://www.gnu.org/software/screen/ https://savannah.gnu.org/forum/forum.php?forum_id=8304 2015.06.28 4.3.1 로 패치 된 것으로 보인다. 현재 내 맥북에 기본 설치 되어 있는 버전은 4.00.03 버전이다. 개발 서버의 버전도 같은 버전이군.)

설치

brew install tmux 

tmux 설정 ~/.tmux.conf

tmux 설정은 ~/.tmux.conf 에 기록 하면 된다. 개인적으로 다음과 같은 설정을 사용한다. 참고로 screen 설정은 ~/.screenrc 이다.
마우스를 이용한 pane 사이즈 변경기능이라거나 window 변경 등 활용이 가능하다.
vi 키 모드를 지원한다거나 alt 나 shift 키를 함께 사용하여 pane 간의 이동을 한다거나 window 간 이동하는 것이 가능하다.
history-limit 는 예전에 50만 라인 정도로 사용 하고 있었는데 메모리 누수 버그가 있는지 종종 메모리를 과다하게 사용 해서 10만 라인 정도로 줄여 사용 하고 있다. 요즘은 2.0 으로 업 해서 사용 중인데 아마 해당 버그는 패치 되었을지도 모르겠다.
 

tmux 2.6 이상용 설정 이전 버전용 설정 수정한 설정을 이미 생성된 세션에 적용 하려면 다음과 같이 하면 된다.

 ctrl + b, : :source-file ~/.tmux.conf 

tmux shortcuts, cheatsheet

내가 주로 사용하는 tmux 단축키나 커맨드들을 정리 해 본다.

 

 

tmux 버전별 주요 기능 추가 사항

 

 

기타 참고

 

 

tmux 참고사이트

 

 

반응형
Comments