ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TMUX 사용방법 (창분할하기, 빌드걸고 퇴근하기)
    카테고리 없음 2015. 2. 17. 19:57

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

    TMUX를 사용하면

    1. 터미널창을 분할해서 사용할 수 있습니다. (아래 그림에서는 왼쪽에는 VI, 오른쪽 위는 TIG, 오른쪽 아래는 Shell로 분할했습니다.)

    2. Perforce Sync / 모델 빌드를 걸어두고 다음날 출근해서 확인할 수 있습니다. (session유지)

    [설치방법]

    1. 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

    2. Root권한이 있는 사용자라면 sudo make install로 모든 사용자가 해당 버전을 사용하게끔해 줄 수 있습니다. (서버쪽은 제가 최신버전으로 깔아뒀습니다.)

    3. 제가 설정해둔 설정파일을 사용하시면 좀 더 편할 듯싶습니다.

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

    4. VI의 color scheme이 정상적으로 동작하게끔하기 위해서 .bashrc 등에 아래 줄을 추가해둡니다.

    alias tmux='TERM=xterm-256color tmux -2'


    [사용방법]

    제 설정파일을 적용했다고 가정하고 사용법을 설명드리도록 하겠습니다.

    기본적인 invoke키는 Ctrl+b이지만 저는 Ctrl+j로 변경해두었습니다.

    1. 시작하기

    tmux 혹은 tmux new -s <원하는 이름>

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

    2. 창 분할하기

    Ctrl+j를 누른 후에 | 를 누르면 좌우로 분할되고,

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

    3. 창 이동하기

    Ctrl+j를 누르고 다시 Ctrl+j를 누르면 이전 창으로 돌아갑니다.

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

    4. Tab 만들기

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

    5. Tab간 이동하기

    Ctrl+j를 누른 후에 n을 누르면 다음 tab으로 이동합니다.

    Alt+<숫자키>를 누르면 해당 tab으로 이동합니다.

    6. 창 닫기

    shell에서 exit명령을 입력합니다.

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

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

    tmux를 실행하고 나서 빌드를 실행합니다.

    Ctrl+j를 누르고 d를 누르면 [detached (from session xxx)] 라고 뜨면서 tmux를 실행하기 전 Shell로 빠져나옵니다.

    퇴근합니다.~

    다음날 와서 tmux attach -t xxx를 치면 퇴근 전 화면으로 돌아갑니다.

    8. Zoom기능 사용하기

    tmux최신버전에는 zoom이라는 기능이 있습니다. 창을 분할해서 사용하다가 잠시 전체 화면으로 바꾸고, 다시 원래대로 돌아갈 수 있는 기능입니다.

    Ctrl+j를 누른 후에 z를 누르면 현재 커서가 위차한 창이 전체 화면으로 전환되고,

    다시 Ctrl+j를 누른 후에 z를 누르면 분할되었던 상태로 돌아가게 됩니다.

    [More]

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

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

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

    set-option -g default-command "zsh"

    두 부분을 바꾸시면 됩니다. (#은 주석처리입니다.)

    2. tmux에 간단한 설명은 아래를 참고하세요.

    http://nodeqa.com/nodejs_ref/99

    3. 매번 tmux를 설정하고 창을 분할하는 작업을 하게 되는데 이걸 미리 설정해서 할 수 있는 Tool도 있습니다.

    https://github.com/tmuxinator/tmuxinator

    저도 설정해서 쓰고 있는데 mux session-name으로 간단히 new/attache를 할 수 있어서 편합니다.

Designed by Tistory.