tmux 기본 조작법 알려줘

tmux는 터미널 멀티플렉서로, 하나의 터미널 창에서 여러 세션, 창, 패널을 관리할 수 있게 해줍니다. 아래는 기본 조작법 을 정리한 것입니다.


✅ 1. tmux 시작 / 종료

  • 세션 시작
    tmux
    

또는 세션 이름 지정

```bash
tmux new -s mysession
```
  • 세션 종료
    패널 내에서 exit 입력하거나 Ctrl-b 누른 뒤 : 입력하고 kill-session 실행

✅ 2. 기본 prefix 키

  • 기본 prefix (명령 대기 상태 진입) : Ctrl-b
    이걸 누르고 나서 단축키를 입력해야 합니다. 예: Ctrl-bc

✅ 3. 세션 / 창 / 패널 관련 주요 단축키

🎯 세션(Session)

  • 세션 목록 보기:
    tmux ls
    
  • 세션에 attach:
    tmux attach -t 세션이름
    
  • 세션 종료:
    패널에서 exit 또는 Ctrl-b:kill-session

🪟 창(Window)

  • 새 창 생성: Ctrl-bc

  • 창 간 이동: Ctrl-bn (next), Ctrl-bp (previous)

  • 창 목록: Ctrl-bw

  • 창 이름 변경: Ctrl-b,

  • 창 닫기: exit 또는 Ctrl-d

🔲 패널(Pane)

  • 패널 수직 분할: Ctrl-b"

  • 패널 수평 분할: Ctrl-b%

  • 패널 간 이동: Ctrl-b → 방향키 (, , , )

  • 패널 종료: exit 또는 Ctrl-d

  • 패널 크기 조절: Ctrl-b:resize-pane -D (아래로 줄이기), -U, -L, -R


✅ 4. 기타 유용한 명령

  • 명령 모드 진입: Ctrl-b:
    예: rename-session, kill-pane, list-keys 등 입력 가능

  • 복사 모드 진입 (스크롤, 복사 등): Ctrl-b[
    → 화살표 키로 이동, 스페이스로 복사 시작, Enter로 복사 완료


✅ 5. 세션 유지하고 나가기

  • detach : Ctrl-bd
    세션은 백그라운드에 남고 나중에 다시 attach 가능

필요하면 .tmux.conf 설정이나 키 리매핑에 대해서도 도와드릴 수 있습니다. 더 고급 기능이 필요하신가요?

Ctrl+d 누르니 Use "logout" to logout 이라고 떠

네, 그 메시지는 현재 사용 중인 쉘에서 exit이나 logout 명령어로 세션을 종료하라는 의미입니다. 자세히 설명드리면 다음과 같습니다.


🔍 문제 원인

  • Ctrl-d는 일반적으로 EOF (End Of File) 신호를 보내서 셸을 종료시키는 역할을 합니다.

  • 그런데 지금 그 명령이 작동하지 않고 Use "logout" to logout이라고 나오는 이유는:

    • 사용 중인 셸이 login shell이기 때문입니다.

    • login shell에서는 보통 exit이나 logout 명시적 명령어를 요구합니다.

👉 즉, 단순히 tmux의 문제가 아니라 쉘 자체 설정 문제입니다.


🛠 해결 방법

  1. 그냥logout 명령 입력
    해당 패널에서 다음 명령을 입력하세요:

    logout
    

또는

 ```bash
 exit
 ```

둘 중 하나는 작동할 겁니다.

  1. login shell 아닌 셸에서 tmux 실행하도록 설정 변경 (선택사항)
    .bash_profile이나 .zprofile 같은 데서 강제로 login shell로 만드는 설정이 있을 수도 있습니다. 그것을 수정할 수도 있지만, 보통은 굳이 그럴 필요 없습니다.

🧪 확인용

해당 패널이 login shell인지 확인해보려면:

shopt -q login_shell && echo "login shell" || echo "not login shell"

요약: Ctrl-d가 안 먹히는 건 login shell이라서 그렇고, logout 또는 exit 명령을 직접 입력하시면 됩니다. 이게 귀찮으시면 .bashrc.zshrc를 조금 손보는 방법도 있습니다. 그게 필요하시면 말씀해 주세요.

tmux 창닫기가 하고 싶어

tmux에서 "창 닫기"는 정확히 말하면 현재 활성화된 창(Window)을 종료 하는 것을 말합니다. 방법은 아래와 같습니다.


✅ tmux 창 닫는 방법 (현재 창 종료)

1. 창 안에서exit 입력

exit
  • 가장 확실한 방법입니다.

  • 해당 창 안의 모든 패널이 종료되면 창 자체가 닫힙니다.


2. 단축키로 창 닫기

단축키 직접 존재하진 않지만 , 이렇게 할 수 있습니다:

  • Ctrl-b&

Kill window 물어보면 y 입력

이게 창 전체를 강제로 닫는 tmux 기본 키입니다.


3. 명령 모드에서 닫기

Ctrl-b :
kill-window

❗️주의할 점

  • 창(Window)은 여러 패널(Pane)을 포함할 수 있습니다.

  • 창을 닫으면 그 안의 모든 패널도 함께 사라집니다.

  • 만약 여러 창을 돌리는 중이고 하나만 닫고 싶을 때, 꼭 확인하세요.


필요하시면 특정 번호의 창을 닫거나, 여러 창을 자동으로 정리하는 것도 도와드릴 수 있습니다.

tmux history가 바로바로 없어지는거 같아.

좋은 지적입니다. tmux에서 스크롤 히스토리(history)가 바로 없어지는 문제 는 꽤 자주 발생하며, 다음과 같은 이유와 해결책이 있습니다.


🧨 문제 원인 요약

  1. tmux 기본 설정에서는 history buffer(스크롤백 버퍼)가 작음

    • 기본값은 2000줄 정도로 제한되어 있음.

    • 그래서 출력이 많으면 오래된 히스토리가 밀려 사라짐.

  2. 쉘 레벨 history와는 별개임

    • tmux 히스토리는 tmux 내부의 스크롤백이고, bash/zsh의 history 명령과는 다름.
  3. 터미널에서 마우스 스크롤이 안 되는 경우도 있음

    • tmux가 마우스를 "가로채기" 하도록 설정되었을 수 있음.

✅ 해결 방법

1. .tmux.conf에서 history size 늘리기

set-option -g history-limit 100000
  • 최대 100000줄까지 저장 가능 (더 늘려도 되지만 성능 저하 가능성 있음)

  • 변경 후에는 tmux를 완전히 재시작 해야 반영됩니다.

tmux kill-server
tmux

2. 복사 모드에서 스크롤 확인

  • Ctrl-b[
    → 방향키로 과거 출력 탐색 가능
    q 눌러 종료

3. 마우스 스크롤 안 되는 경우 (선택사항)

터미널에서 마우스 스크롤이 안 되는 경우 .tmux.conf에서 다음 줄 제거하거나 수정:

# 마우스 사용을 비활성화 (원래 설정돼 있다면)
set -g mouse off

또는 반대로 사용하려면:

set -g mouse on

4. 현재 설정 확인

tmux 안에서 다음 명령으로 현재 history limit 확인 가능:

tmux show-options -g history-limit

🧪 정리

  • tmux는 기본적으로 출력 히스토리를 많이 안 보관 합니다.

  • .tmux.conf에서 history-limit을 충분히 크게 설정해야 하고,

  • 복사 모드(Ctrl-b[)를 활용해서 탐색해야 합니다.

  • 위 설정 적용 후에도 안 된다면 .bashrc, .zshrc 또는 터미널 프로그램 설정까지 봐야 할 수도 있습니다.

.tmux.conf 설정 예시가 필요하시면 말씀 주세요.

마우스말고 Ctrl-b [ 하면 되는데 마우스 스크롤 하면 안보여

좋습니다. 지금 상황은 다음과 같이 정리됩니다:


📌 현재 증상 정리

  • Ctrl-b [ (복사 모드) → 정상적으로 히스토리 스크롤 됨 ✅

  • 마우스 휠로는 스크롤이 안 됨

즉, 터미널에서 마우스 스크롤이 tmux 내부로 전달되지 않고 있다 는 뜻입니다.


🧨 원인

기본적으로 tmux는 마우스 이벤트(스크롤 포함)를 무시합니다.
그래서 휠을 써도 터미널이 아니라 tmux의 히스토리 버퍼로 안 넘어갑니다.


✅ 해결 방법: .tmux.conf에 마우스 활성화 추가

~/.tmux.conf 파일에 다음을 추가하세요:

set -g mouse on

그리고 설정 적용을 위해 새로고침 또는 재시작합니다:

# 현재 실행 중인 tmux에 적용 (선택적)
tmux source-file ~/.tmux.conf

# 또는 완전히 재시작
tmux kill-server
tmux

❗주의 사항

  • 마우스를 켜면:

    • 휠 스크롤 → 복사 모드로 자동 진입하여 스크롤 가능

    • 클릭으로 패널 선택, 텍스트 복사 등 가능해짐

  • 일부 터미널 (예: alacritty, kitty, iterm2, gnome-terminal)은 자체적으로 마우스 입력을 tmux와 충돌시킬 수 있음. 그럴 경우 해당 터미널 설정도 살펴봐야 함.


🧪 확인

설정 반영 후:

  • 마우스 휠로 스크롤 하면 복사 모드처럼 위/아래 출력이 보여야 함

  • 만약 여전히 안 된다면:

    • 사용 중인 터미널 종류 말씀해 주세요 (gnome-terminal, iterm2, tmux + ssh, 등)

    • .tmux.conf 전체 내용 보여주시면 분석해 드릴 수 있습니다


필요하시면 .tmux.conf를 전체적으로 구성해 드릴 수도 있습니다.

Categories:

Updated: