2012년 5월 9일 수요일

iTerm2에서 tmux 화면이 깨지는 현상

iTerm2에서 tmux를 이용해 페인(pane)을 나누었을 경우 화면이 깨지는 케이스가 있다. 예를 들자면 아래 스크린샷 같은 경우이다.

이 화면은 좌우로 페인을 나눈 뒤 오른쪽 페인을 다시 위아래로 한번 더 페인을 나눈 상태다. 왼쪽 페인에는 없어야 할 가로선이 보이고 오른쪽 페인은 첫 글자가 안보인다. 커서를 이동하다 보면 화면에 페인 구분선이 마구 그려졌다 사라졌다 하는데 눈이 아플 정도이다.

터미널 타입 문제인가 싶어 이리 저리 고쳐보면서 테스트 해 봤지만 전혀 해결되지 않았는데 중요한 옵션을 하나 놔 두고 있었다. 설정(Preferences)에서 Profiles - Text 항목이다.

Double-Width Characters 항목에 Treat ambiguous-width characters as double width 라는 체크박스가 있다. 정체를 알 수 없는(?) 문자는 두배의 넓이를 가지도록 설정하는 부분인데 혹시나 2바이트 문자(한글/일본어 등) 표시에 문제가 있을 까봐 체크해 두고 있었다. 즉, 이 설정을 체크하면 이와 같은 문제가 발생한다.

Double-width Characters를 사용하지 않도록 설정하면 아래와 같이 정상적인 화면이 나온다.

OS X의 기본 터미널인 Terminal.app에는 이런 옵션이 없기 때문에 정상적으로 나오지만 페이스트보드(Paste Board. 윈도우의 클립보드와 동일한 용도) 호환에 문제가 있고 무엇보다 마우스 사용이 안된다. 이 경우 특정 플러그인을 설치하면 해결된다지만 귀찮아서 하기는 싫다. -_-;

그 외에 설정에 따라 iTerm이나 Terminal.app에서 tmux의 화면이 아래와 같이 살짝 깨져보일 때도 있다.

세로선이 뚝뚝 끊어져서 점선 처럼 보인다. 이 문제는 폰트 문제로 Monaco 등 일부 폰트에서는 세로줄 모양에 해당하는 폰트가 맞지 않아서 이렇게 보인다.

위와 같은 점선이 보기 싫다면 기본적으로 제공되는 고정폭 폰트 중 Menlo 를 선택하면 점선이 실선으로 보일 것이다.

댓글 없음 :