Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

tmux-powerline 설정하기

tmux를 알게 된 이후로 꽤 유용하게 잘 쓰고 있다. 사실 개인작업을 하는 맥북에서는 tmux를 쓰기보다는 보통 iTerm2의 탭을 더 많이 이용하지만 회사에서는 한 세션으로 여러서버에 들어가서 작업하는게 편하기 때문에(그렇지 않으면 탭마다 인증을 받아야 해서) tmux를 유용하게 쓰고 있고 어느정도 익숙해졌다. 전에 올린 포스팅대로 설정을 해서 tmux의 상태바에 간단한 정보가 출력되게 다음과 같이 설정해서 쓰고 있었다.

tmux 화면


폰트 패치하기
얼마전에 anarcher님이랑 수다를 떨다가 tmux-powerline이란게 있다는 것을 알게되어서 바로 셋팅에 들어갔다. 당연히 최신 tmux가 필요하고 bash가 4.0버전 이상이어야 한다.(OS X의 BASH 쉘 업그래이드하기 참고) 마지막으로 패치된 폰트를 사용해야 한다. powerline에서는 구분자로 특수기호를 사용하는데 이 특수기호가 사용하는 글꼴에 포함되도록 폰트를 패치해야 한다. 이 폰트패치작업은 vim-powerline의 것을 그대로 사용하고 있고 vim-powerline에서 폰트를 패치할 수 있는 font-patcher를 제공하고 있다. 해당 페이지에 가이드가 잘 나와있는데 실제로 설정해 본 OS X 기분으로만 설명하면 먼저 fontforge라는 프로그램을 설치해야 한다.

$ brew update
$ brew install -vd fontforge

위처럼 homebrew를 이용해서 설치하면 된다. font-patcher가이드에는 --use-gcc 옵션을 사용해서 설치하라고 되어 있지만 나같은 경우는 GCC could not be found라는 오류가 나면서 설치가 되지 않았다. homebrew프로젝트의 이슈로 올라온 내용을 보면 --use-gcc는 Snow Leopard나 Leopard에서 사용하던 옵션이고 Lion부터는 제공하지 않기 때문에 위처럼 -vd 옵션을 사용하면 된다. 혹 설치가 완료되고 link를 생성지 못했다는 오류가 난다면 sudo chown -R $USER:admin /usr/local/share명령어로 homebrew가 심볼릭링크를 생성할 수 있도록 권한을 수정해 주어야 한다.

이제 사용하는 폰트를 패치할 차례이다. vim-powerline에서 fontpatcher를 다운받고 패치할 자신의 트루타입 폰트파일을 준비한 뒤에 다음과 같이 실행하면 된다.

$ fontforge -script /path/to/fontfatcher MyFontFile.ttf

위 명령어를 실행하면 MyFontFile-powerline.ttf 이라는 새로운 폰트파일이 생성된다.

패치된 폰트파일이 생긴 화면

주로 DejaVuSansMono폰트를 사용하기 때문에 위처럼 패치된 파일이 생긴걸 볼 수 있다. OSX에서는 폰트파일을 더블클릭하면 설치할 수 있고 "폰트명 for Powerline"이라는 폰트가 새로 생긴다. 이제 터미널의 설정에서 사용하는 폰트를 이 패치한 폰트파일로 바꾸어 주면 된다.


tmux-powerline 설정
설정은 아주 간단하다. tmux-powerline을 다운로드 받아서 앞축푼 폴더를 원하는 위치에 두고 ~/.tmux.conf파일에 다음과 같은 설정을 추가한다.

set-option -g status on
set-option -g status-interval 2
set-option -g status-utf8 on
set-option -g status-justify "centre"
set-option -g status-left-length 60
set-option -g status-right-length 90
set-option -g status-left "#(~/path/to/tmux-powerline/status-left.sh)"
set-option -g status-right "#(~/path/to/tmux-powerline/status-right.sh)"
bind C-[ run '~/path/to/tmux-powerline/mute_statusbar.sh left'      # Mute left statusbar.
bind C-] run '~/path/to/tmux-powerline/mute_statusbar.sh right'     # Mute right statusbar.

path/to 부분은 tmux-powerline이 있는 자신의 경로로 바꾸어주면 된다.

파워라인이 설정된 tmux

이제 위처럼 이~~쁜 파워라인을 볼 수 있다.
좌측부터 보면 맨 왼쪽에 노란 부분의 숫자 3개는 tmux 세션수, window 수, pane 수를 나타낸다. 현재의 것은 제외되는듯 현재는 다 0:0:0이다. 그 옆에서는 hostname이고 그 다음ㄴ LAN의 IP와 외부 IP이다 .
가운데 나타난 부분은 tmux의 윈도우다. 파워라인때문에 좀 좁게 느껴지지만 이건 좀 써보고 조정하든지 해야겠다.
우측부분의 빨간부분은 PC의 부하상태(보통 top하면 나오는...)이고 그 옆에는 현재 날짜와 시간이다.

설정에서 단축키도 설정했기 때문에 Ctr + C를 누를채로 [ 나 ] 를 누르면 파워라인을 감출 수 있다.(파워라인은 사라지거나 생기는데 약간의 딜레이가 있다.)
2012/12/16 03:28 2012/12/16 03:28