ssh 세션을 클라이언트와 상관없이 계속 열어두고, 아무때나 다시 이어서 사용할 수 있기 때문에 나는 주로 tmux를 사용한다. tmux는 자체로도 편리한 툴이지만, 간단한 설정을 통해서 더욱 편리하고 본인에 맞게 커스텀할 수 있다.

터미널에 복사 붙혀넣기 하면 바로, tmux 설정 파일인 .tmux.conf을 생성할 수 있다.

cat >> ~/.tmux.conf << EOL
set -g mouse on
setw -g mode-keys vi
EOL

살아있는 tmux 세션을 모두 종료하고 다시 실행하면 적용이 되는 모습을 확인할 수 있다. 이미 실행 중인 세션에서는 Ctrl + b + :를 통해서 tmux의 명령어 입력 모드로 전환한 후에, source ~/.tmux.conf 명령을 통해서 바로 적용할 수 있다.

마우스를 활용하여 기존의 pane 포커스(Ctrl + b + <화살표>)를 간단히 마우스 클릭으로 대체할 수 있다. 윈도우 이동 역시, 아래 status-bar를 클릭하는 것으로 이동할 수 있으며, 또한 히스토리를 보기(Ctrl + b + [) 역시 마우스 스크롤로 바로 진입할 수 있으며, 복사 및 붙혀넣기(Ctrl + b + ])도 마우스 드래그를 통해서 간단하게 할 수 있다. 복사 붙혀넣기도 기존에 tmux 내부에서만 작동하는 것이 아닌 클립보드에 제대로 저장된다.

내가 현재 사용 중인 tmux는 아래와 같다. 사용자에 따라서 tmux의 명령어는 모두 Ctrl + b와 조합하여서 사용하는데, 이 키 바인딩 역시 본인이 원하는 대로 바꿀 수 있다. 터미널의 색상도 원하는대로 변경할 수 있는데, 다크모드를 잘 쓰지 않기 때문에, 흰 배경 터미널 기준으로 색상이 맞추어져 있다. 혹시 검은 배경에 사용할 예정이라면 색상 변경이 필요할 것이다.

# mouse setting
set -g mouse on
setw -g mode-keys vi
set -g focus-events on

# use Ctrl + C,V with clipboard
bind C-c run "tmux save-buffer - | xclip -i -sel clip"
bind C-v run "tmux set-buffer $(xclip -o -sel clip); tmux paste-buffer"

# colour customization
set -g window-active-style fg=colour233,bg=default
set -g window-style fg=colour255,bg=default
set -g pane-active-border-style fg=colour15,bg=colour34
setw -g window-status-current-style fg=colour34,bg=colour15
set -g status-fg colour15
set -g status-bg colour34

# history length setting
set -g history-limit 10000

아래 8bit 색상표를 통해서 원하는 색상으로 터미널을 바꿀 수 있다.

  • 0x00-0x07: 표준 색상
  • 0x00-0x0F: 고대비 색상
  • 0x10-0xE7: RGB 6개 색상(6x6x6=216개)
  • 0xE8-0xFF: greyscale 색상들

tmux의 configuration 관련해서는 정확하게 모두 정리된 문서를 찾기가 어려웠다. 하지만 아래와 같이 다른 사람들이 이미 세팅해둔 config 파일이 있으니, 추가적인 설정을 원한다면 참고하면 좋겠다.