tmux

Sunwoo Pi·2022년 8월 19일
post-thumbnail

Session

Window

Pane

tmux : terminal multiplexer

Session

tmux가 관리하는 가장 큰 실행 단위.
Session을 종료하지 않고 detach한 상태라면 Session은 백그라운드에서 계속 실행된다.
추후 Session에 다시 attach할 수 있다.

Window

Terminal 화면으로 보고 있는 View.
하나의 Session을 여러 개의 Window로 구성 가능.

Pane

하나의 Window를 여러 개의 Pane으로 구성 가능.

tmux 설치

sudo apt install tmux # Ubuntu 및 Debian에 tmux 설치

관련 명령어들

Session 외부 명령어

tmux # 세션 생성

tmux new -s [SessionNumber or SessionName] # 세션 생성
	# ex) tmux new -s Pi
    
tmux ls # 세션 목록 보기

tmux attach -t [SessionNumber or SessionName] # 세션 다시 접속하기
	# ex) tmux attach -t 0
    
tmux kill-session -t [SessionNumber or SessionName] # 세션 종료
	# ex) tmux kill-session -t Pi

Session 내부 명령어 및 명령키

exit # 세션 종료

# PREFIX -> ctrl + b
(PREFIX 누른 후) $ # 세션 이름 수정
(PREFIX 누른 후) d # 세션을 유지한 상태에서 나가기 (detach)

Window (Session 내부 명령키)

ctrl + d # pane -> window 순으로 삭제

# 아래 두 명령어는 해당 Session 안의 아무 윈도우에서나 실행 가능
tmux swap-window -s 0 -t 1 # 0번, 1번 윈도우의 위치를 변경
tmux move-window -s 3 -t 1 # 3번 윈도우의 위치를 1번 위치로 이동

# PREFIX -> ctrl + b
(PREFIX 누른 후) w # 모든 윈도우 목록 보기
(PREFIX 누른 후) c # 새 윈도우 생성
(PREFIX 누른 후) , # 윈도우 이름 수정

(PREFIX 누른 후) 0-9 # window number
(PREFIX 누른 후) n # next window
(PREFIX 누른 후) p # prev window
(PREFIX 누른 후) l # last window
(PREFIX 누른 후) f # find by name (윈도우 이동)

Pane (Session 내부 명령키)

ctrl + d # pane -> window 순으로 삭제

tmux clear-history # Clear Terminal History (tmux 내부에서 clear 명령어 입력 시 History가 위로 올라갈 뿐, 그대로 유지)

# PREFIX -> ctrl + b
(PREFIX 누른 후) % # 세로로 화면 분할
(PREFIX 누른 후) " # 가로로 화면 분할

(PREFIX 누른 후) z # 화면이 분할되어 있을 때, 특정 pane을 확대
(PREFIX 누른 후) 방향키 # Session 내 pane 이동 (분할 된 부분을 의미)
(PREFIX 누른 후) alt + 방향 키 # 화면 크기 조절

# 화면 크기 조절
# 명령어 모드 진입 -> (PREFIX 누른 후) :
(명령어 모드 진입 후) resize-pane -L 5 # left
(명령어 모드 진입 후) resize-pane -R 3 # right
(명령어 모드 진입 후) resize-pane -U 2 # up
(명령어 모드 진입 후) resize-pane -D 8 # down

(PREFIX 누른 후) spacebar # 화면 레이아웃 변경

(PREFIX 누른 후) Page Up # 화면 스크롤
(PREFIX 누른 후) Page Down # 화면 스크롤
	esc # 빠져나오기

tmux 설정 및 플러그인 관리 가이드

1. ~/.tmux.conf 설정하기

~/.tmux.conf에 아래 내용 입력하여 tmux Config 설정해주기

# ctrl + b 대신 ctrl + a 로 PREFIX 사용 가능
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

# Pane을 이동할 때 마우스 사용 가능
set -g mouse on

# 마우스 휠을 이용한 스크롤 가능
set -g terminal-overrides 'xterm*:smcup@:rmcup@'

# 히스토리 버퍼 크기 설정 (스크롤백 라인 수)
set-option -g history-limit 20000

# Pane 표시
set -g pane-border-format " #{pane_index} #{pane_current_command} "
set -g pane-border-status top
set -g pane-border-lines double
set -g mode-style "fg=#cdd6f4,bg=#313244,bold"

# # === 플러그인 리스트 ===
# set -g @plugin 'tmux-plugins/tpm'
# set -g @plugin 'tmux-plugins/tmux-resurrect'
# set -g @plugin 'tmux-plugins/tmux-continuum'

# # === Dracula 상태바 ===
# set -g @dracula-show-powerline false
# set -g @dracula-show-left-icon "#S"
# set -g @dracula-plugins "cpu-usage ram-usage cwd git time"
# set -g @dracula-show-empty-plugins false

# set -g @dracula-cwd-max-dirs "1"
# set -g @dracula-refresh-rate 1
# set -g @dracula-git-disable-status true

# run-shell ~/.tmux/plugins/dracula/tmux/dracula.tmux

# # === TPM 실행 ===
# run-shell -b ~/.tmux/plugins/tpm/tpm

2. 설정 적용하기

파일 저장 후, 터미널에 아래 명령어를 입력하여 변경된 설정을 즉시 적용합니다.

tmux source-file ~/.tmux.conf

3. TPM (Tmux Plugin Manager) 설치

주석 처리된 플러그인 기능을 정상적으로 사용하려면 먼저 TPM을 설치해야 합니다. 터미널에서 아래 명령어를 실행하세요.

  • TPM Repo. : TPM GitHub Repository
  • 설치 명령어 :
    git clone [https://github.com/tmux-plugins/tpm](https://github.com/tmux-plugins/tpm) ~/.tmux/plugins/tpm

4. 플러그인 설치 및 업데이트

TPM 설치와 source-file 적용이 완료되었다면, tmux 내부에서 플러그인을 실제로 업데이트해야 합니다.

  1. tmux를 실행합니다.
  2. Prefix + I (Ctrl + a를 누른 뒤, 대문자 I)를 눌러 설정된 플러그인들을 업데이트해야 합니다.
  3. 업데이트 완료 메시지가 뜨면 사용 준비가 완료된 것입니다.

<참고>
https://hbase.tistory.com/200
<이미지 출처>
https://knackin.tistory.com/4

profile
어려운 게 제일 싫어😝

0개의 댓글