준호씨의 블로그

tmux 설정, 사용법 본문

개발이야기

tmux 설정, 사용법

준호씨 2015.09.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 참고사이트



2 Comments
  • 프로필사진 제시아빠 2018.03.16 22:39 신고 안녕하세요 혹시 맥에서 tmux 사용하시는 거면 도움좀받을수 있을까요
    맥사용한지 얼마 안되서 지금 iterm2 zsh tmux 세개를 설치하였는데요
    맥은 윈도우처럼 프로그램 삭제후 폴더 삭제하면 깔끔해지는데 그런게 없는것 같더라구요
    앱프로그램은 그냥 앱 삭제 프로그램은 삭제하면 되는데 ..터미널에서 받은것들은
    삭제를 몰라서 수동삭제 했다가 시스템 오류나서 현재 운영체제 두번이나 재설치 했네요 ㅠ
    또한 tmux가 화면분할 단축키가 안되는데..혹시 따로 뭐 단축키를 설정해야되나요??
    경로 설정이라던지....답변좀 주시면 감사하겠습니다~
  • 프로필사진 BlogIcon 준호씨 2018.03.17 23:44 신고 tmux 같은건 brew install tmux 로 설치 하시는게 편하고 지울때도 brew remove tmux 로 하시면 편합니다.
    터미널에서 설치한 프로그램의 경우 의존성이나 시스템파일은 주의하시는게 좋습니다.
    화면 분할은 저는 보통 ctrl + b, " 로 가로 분할을 하는 편입니다.
    세로 분할은 ctrl + b, % 입니다.
댓글쓰기 폼