메뉴 닫기

리눅스 화면 분할 프로그램 ‘tmux’ 사용법

tmux (Terminal multiplexer)

tmux (Terminal multiplexer) 는 리눅스상에서 터미널을 조금더 편하게 사용 할 수 있도록 도와주는 프로그램중 하나이다.
리눅스서버에서 작업을 하다보면 터미널 하나로는 너무 답답하니 여러 화면을 띄우고 싶을 경우 사용하기 좋은 프로그램이다.
tmux를 활용하였을때 장점은 아래와 같다.

tmux
tmux를 통해 화면을 분할한 모습

 

  • 세션단위로 터미널을 관리하기 용이하다.
  • 화면 분할을 기본으로 지원하여, 화면하나에 다양한 터미널을 띄울 수 있다.
  • 기본적인 기능이 다양하며, 흔히 사용하는 Terminator 에서 사용하는 기능보다 월등히 많은 기능을 사용할 수 있다.
  • 사용자의 커스텀이 용이하다.
  • 실행시간이 긴 프로그램을 돌릴때, 또는 세션이 끊기지 않았으면 하는경우 tmux를 활용하면 tmux데몬을 끄지 않는이상 세션을 계속적으로 유지할 수 있다.
  • GUI / CLI 환경을 가리지않고 당연하게 모든 인터페이스에서 사용이 가능하다.

외에도 사용자의 커스텀에따라 활용방법은 다양하나 지식의 한계로 본문으로 넘어가, 리눅스 화면 분할 프로그램 ‘tmux’ 사용법에대해 설명하겠다.

설치

각종 운영체제의 패키지 관리자(apt, yum 등, mac의 경우 brew)를 이용하여 설치할 수 있다. 

$ apt install -y tmux
# 실행
$ tmux

 

터미널 세션 관련 명령어

아래는 터미널 세션의 목록을 확인하거나 종료 하거나 다시 접속하는등 세션의 시작과 종료방법에 관련한 명령어이다.

# 새로운 터미널 세션 생성
tmux
or
tmux new -s (session_name)  # 이름 지정

# 세션 종료
exit

# 세션 목록
tmux ls

# 세션 다시 시작하기(다시 불러오기)
tmux attach -t session_number

# 세션 중단하기
(ctrl + b) d

# 세션 끄기
(ctrl + b) x

# 스크롤
(ctrl + b) pgup or pgdown
or

# 특정 세션 강제 종료
tmux kill-session -t session_number

 

화면 분할 관련 명령어

아래는 화면 분할 관련 하여 주로 사용되는 명령어이다. 주로 많이 사용하는 terminator 같은 경우 CLI 환경에서 사용을 할 수 는 있다면 매우 번거로운 작업이 필요하다.
tmux 와 같은경우는 아래 병령어등을 사용하여 매우 간편하게 여러화면을 띄울 수 있다.
기본적인 사용으로는 아래 조합키만으로도 불편함없이 사용이 가능하다. 만일 추가적인 조합키나 명령어등을 알고 싶다면 man tmux를 통해서 확인할 수 있다.

## 화면 나누기
# 좌우 화면분할
(ctrl + b) %
# 위아래 화면 분할
(ctrl + b) "

# 분할된 화면 이동
(ctrl + b) 방향키

# 화면 사이즈 조절
(ctrl + b) 방향키 #ctrl+b를 키다운한 상태로 방향키를 입력함

 

 

tmux.conf 파일을 통한 커스텀

tmux 는 conf 파일을 통해 커스텀을 할 수 있으며, 다양한 모양으로 변형이 가능하다.
아래는 현재 필자가 찾아보고 조금 수정하여 쓰고있는 tmux.conf 파일이다, 필요한 설정이 있다면 입맛대로 사용하면 좋을 듯 하다.

$ cat ~/.tmux.conf
# 기본 인덱스 크기 설정
set -g base-index 1
set -g status-keys vi
set -g history-limit 10000

# tmux 에서 마우스를 활용하여 화면 선택 및 스크롤 가능하도록 설정
setw -g mode-keys vi
set-option -g mouse on

## 화면분할 키 지정
# v 키로 좌우 화면 분할
bind-key v split-window -h
# s 키로 위아래 화면 분할
bind-key s split-window -v

# synchronize-panes(동시입력 기능) 을 (ctrl + B y)라는 옵션으로 사용할 수 있게 함.
bind-key y set-window-option synchronize-panes

# 좌클릭 드래그로 선택, 우클릭으로 복사
# 해당 기능을 사용하려면 xclip 설치가 필요함, apt install xclip
bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X append-selection 'xclip -in -selection clipboard'
bind -T copy-mode-vi MouseDown1Pane send-keys -X clear-selection
bind -T copy-mode-vi MouseDown3Pane send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard'

# alt + 방향키로 화면 이동
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D

# shift 방향키로 화면 이동
bind -n S-Left  previous-window
bind -n S-Right next-window

# Reload tmux config
bind r source-file ~/.tmux.conf

 

 

 

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x