TMUX - 창분할하기 & 빌드걸고 퇴근하기

TMX는 terminal multiplexer로 터미널에서 사용하는 프로그램들을 손쉽게 switch하거나 backgroud로 수행할 수 있게 도와주는 툴입니다.

TMUX를 사용하면

  1. 터미널창을 분할해서 사용할 수 있습니다. (위 그림에서는 왼쪽에는 VI, 오른쪽 위는 TIG, 오른쪽 아래는 Shell로 분할했습니다.)
  2. Perforce Sync / 모델 빌드를 걸어두고 다음날 출근해서 확인할 수 있습니다. (session유지)

설치방법

TMUX최신 버전을 설치합니다.

(apt-get install tmux로도 설치가능하지만 굉장히 오래전 버전입니다…)

To get and build the latest from version control:
$ git clone git://git.code.sf.net/p/tmux/tmux-code tmux
$ cd tmux
$ sh autogen.sh
$ ./configure && make

Root권한이 있는 사용자라면 sudo make install로 모든 사용자가 해당 버전을 사용하게끔해 줄 수 있습니다. 제가 설정해둔 설정파일을 사용하시면 좀 더 편할 듯싶습니다.

~/.tmux.conf로 저장하시면 됩니다.

VI의 color scheme이 정상적으로 동작하게끔하기 위해서 .bashrc 등에 아래 줄을 추가해둡니다. alias tmux='TERM=xterm-256color tmux -2'

사용방법

제 설정파일(설정파일은 포스팅 마지막에 있습니다.)을 적용했다고 가정하고 사용법을 설명드리도록 하겠습니다. 기본적인 invoke키는 Ctrl+b이지만 저는 Ctrl+j로 변경해두었습니다.

시작하기

tmux 혹은 tmux new -s <원하는 이름>
추후에 attache(재사용)을 하기 편하게끔 이름을 지정하시는게 좋습니다. tmux new -s normal

창 분할하기

Ctrl+j를 누른 후에 | 를 누르면 좌우로 분할되고, Ctrl+j를 누른 후에 - 를 누르면 상하로 분할됩니다.

창 이동하기

Ctrl+j를 누르고 다시 Ctrl+j를 누르면 이전 창으로 돌아갑니다. Ctrl+j를 누르고 q를 누르면 창마다 숫자가 나오는데 이 때 해당 숫자를 누르면 그 창으로 이동합니다.

Tab 만들기

Ctrl+j를 누른 후에 c를 누르면 새로운 tab이 생성됩니다.

Tab간 이동하기

Ctrl+j를 누른 후에 n을 누르면 다음 tab으로 이동합니다. Alt+<숫자키>를 누르면 해당 tab으로 이동합니다.

창 닫기

shell에서 exit명령을 입력합니다. Ctrl+j를 누른 후에 x를 누르면 해당 pane을 닫을 것인지 묻습니다. 이 때 y를 선택하면 해당 창이 닫힙니다.

Detache / Attache 사용하기 (build걸고 퇴근하기)

tmux를 실행하고 나서 빌드를 실행합니다. Ctrl+j를 누르고 d를 누르면 [detached (from session xxx)] 라고 뜨면서 tmux를 실행하기 전 Shell로 빠져나옵니다. 퇴근합니다.~ 다음날 와서 tmux attach -t xxx를 치면 퇴근 전 화면으로 돌아갑니다.

Zoom기능 사용하기

tmux최신버전에는 zoom이라는 기능이 있습니다. 창을 분할해서 사용하다가 잠시 전체 화면으로 바꾸고, 다시 원래대로 돌아갈 수 있는 기능입니다. Ctrl+j를 누른 후에 z를 누르면 현재 커서가 위차한 창이 전체 화면으로 전환되고, 다시 Ctrl+j를 누른 후에 z를 누르면 분할되었던 상태로 돌아가게 됩니다.

More

제 설정에는 bash대신 zsh가 tmux로 접속하면 실행되게 되어 있습니다.

해당 설정을 원래대로 bash로 변경하고 싶으시면 ~/.tmux.conf에서

     # set-option -g default-command "bash"
     set-option -g default-command "zsh"

zsh 부부분을 주석처리하시고 bash부분을 주석해제 해주시면 됩니다. (#은 주석처리입니다.)

  • tmux에 간단한 설명은 아래를 참고하세요.
  • 매번 tmux를 설정하고 창을 분할하는 작업을 하게 되는데 이걸 미리 설정해서 할 수 있는 Tool도 있습니다.

.tmux.conf

.tmumx.conf파일입니다. 아래 파일을 ~/.tmux.conf로 저장하시면 됩니다.

 
comments powered by Disqus