TL;DR
[Linux] tmux로 터미널로 더 간편하게 코딩하기!
Detail
tmux 시작
tmux를 시작하기 위해서는 쉘에 tmux 라고 타이핑을 하게 되면, tmux 터미널로 새롭게 열리게 됩니다.
$ tmux # 세션을 시작하고 참가한다.
$ tmux new -s work # 세션 work를 시작하고 참가한다
추가로 tmux를 사용하는 가장 큰 이유라고 할 수 있는 background에서 돌아가는 것을 이용하기 위해서는 기존의 tmux를 창닫기를 통해 껐다면, 이후 아래의 명령어로 다시 살릴 수 있습니다. 이는 tmux가 터미널 emulator가 아닌 multiplexer라는 단순히 서버로서 background 서버를 보여주는 기능을 하기 때문입니다.
# 세션을 다시 참가한다.
$ tmux attach(a)
# 세션을 나간다.
$ tmux detach
$ ctrl + b, d
tmux 종료
#windows 종료
ctrl + b, & (tmux 단축키
#panel 종료
ctrl + d (기존 터미널 단축키)
#session 종료
ctrl + d 여러번 (기존 터미널 단축키)
tmux 명령어
tmux에서는 중요한 키가 있는데 바로 ‘Prefix key’ 입니다. Prefix key는 어떤 기능을 사용하는 것을 미리 알리는 기능이라고 보시면 됩니다. 기본 디폴트 되어있는 Prefix key는 ctrl + b(C-b) 입니다.
ctrl + b,s # 세션 목록 확인
ctrl + b,w # 세션 목록 확인 (+ pain까지 한번에 확인 가능)
ctrl + b,c # window 생성
ctrl + b," # 화면 분할: vertical (pain 생성)
ctrl + b,% # 화면 분할: horizontal (pain 생성)
ctrl + b,↑ # 화면 이동
more detail: https://tmuxcheatsheet.com/
tmux 설정(vim ~/.tmux.conf)
하지만 ctrl + b는 사용하기에 불편한 위치에 있으므로 우리는 tmux의 설정을 추가하여 마음대로 키를 변경할 수 있습니다. 아래에는 기본 단축키를 첨부하도록 하겠습니다.
tmux의 설정을 하기 위해서는 .tmux.conf라는 파일을 만들어야 합니다. 우리가 vim을 설정하기 위해서 .vimrc를 수정하는 것과 같은 맥락이라고 보시면 됩니다. 아래의 내용을 .tmux.conf에 넣어주고, tmux를 재시작 해주면 ctrl + t가 Prefix key로 설정됩니다.
# Prefix key 변경
set-option -g prefix C-t
unbind-key C-b
bind-key C-t send-prefix
# prefix r 을 누르면 .tmux.conf 를 읽어서 적용
bind r source-file ~/.tmux.conf \; display "Reloaded!"
# vim’s definition of a horizontal/vertical split is reversed from tmux’s
bind s split-window -h
bind v split-window -v
unbind '"'
unbind %
기존 화면 분활은 Prefix key를 누루고 “와 %를 눌러서 기능을 하게 됩니다. 하지만 직관적인 키가 아니기 때문에 다음과 같이 설정에 추가하여 s키는 가로 분할,v 키는 세로 분할로 설정해줍니다. 이렇게 설정해놓으면 ctrl + t (prefix key)를 누르고 s를 누르면 세로 분할이 되고, v를 누르면 가로 분할이 됩니다.
tmux 설정 파일(.tmux.conf) 적용하기
추가로 아래는 유튜버 '개발동생'의 tmux 설정파일을 잘 만들어 놓아 이를 활용하는 방법에 대해 정리되어 있는 글입니다. Option 1 또는 Option 2 중에서 원하는 방식으로 설치하면 됩니다.
more detail: https://www.youtube.com/watch?v=vlg8X0N8z08&t=1477s
Option 1) AI Agent에게 시키기
아래 프롬프트 그대로 복사해서 여러분들이 활용하시는 AI 코딩 에이전트(ex. Claude Code, Codex, Cursor 등)에게 붙여넣기 하면 에이전트가 알아서 설치 진행하도록 프롬프트 작성해두었습니다.
Option 2) 직접 설치하기
- 1. tmux 설치: https://github.com/tmux/tmux/wiki/Installing
- 2. TPM (Tmux Plugin Manager) 설치: https://github.com/tmux-plugins/tpm?tab=readme-ov-file#installation
- 3. tmux.conf 파일 생성: 아래 링크에 접속해서 복사하거나 다운로드 받아서 `~/.tmux.conf`에 저장하기
- 4. 플러그인 설치: tmux를 실행한 뒤, `Prefix + I` (대문자 I)를 눌러 플러그인 설치하기
- 5. yazi 파일 탐색기 설치: https://yazi-rs.github.io/docs/installation
- 6. 설정 반영: tmux 실행중이라면 `Prefix + r (설정 리로드)` 또는 터미널에서 `tmux source-file ~/.tmux.conf`
참고로, windows에서 tmux 활용하기 위해서는 WSL이 필요합니다.
'Study: ComputerScience(CS) > CS: Linux' 카테고리의 다른 글
| [Linux] NVIDIA Multi-CUDA 설치 및 CUDA 버전 변경하기 (GCC 버전도 맞추기) (0) | 2025.03.17 |
|---|---|
| [Linux] Ubuntu 프로세스 백그라운드(데몬) 실행: nohup과 &에 대해서 (0) | 2024.07.25 |
| [Linux] Slurm 스케줄러 활용법(서버 GPU 할당 및 해제 자동화): SFTP, sbatch, squeue, ... (0) | 2024.03.25 |
| [Linux] Ubuntu 설치 시 디스크 파티션 나누기 (feat. Ubuntu 외장하드에 설치) (1) | 2023.11.27 |
| [Linux] 리눅스에서 Bluetooth 연결이 안 될 때(리눅스 에어팟 페어링) (0) | 2023.11.07 |