tmux 세션 관리와 사라지는 세션 문제 해결하기¶
tmux는 터미널 세션을 유지하고 관리할 수 있게 해주는 강력한 터미널 멀티플렉서입니다. 하지만 제대로 사용하지 않으면 세션이 예기치 않게 사라질 수 있습니다.
tmux 기본 사용법¶
세션 생성 및 관리:
세션 분리 및 재연결:
# 세션 분리 (세션은 백그라운드에서 계속 실행)
Ctrl+b 누른 후 d 키 입력
# 세션 목록 확인
tmux ls
tmux list-sessions
# 세션에 재연결
tmux attach
tmux a
tmux attach -t 세션이름
세션이 사라지는 문제 원인¶
세션이 사라지는 주요 원인은 다음과 같습니다[1][2]:
-
터미널을 올바르게 분리하지 않고 닫음: tmux 세션을 활성화한 상태에서 터미널 창을 그냥 닫으면 세션이 종료될 수 있습니다[1]
-
세션 내에서 exit 명령 사용: 세션을 분리(detach)하지 않고 세션 내에서 exit 명령을 실행하면 해당 세션이 완전히 종료됩니다[3]
-
터미널 에뮬레이터 설정: 일부 터미널 에뮬레이터(예: kitty)는 기본적으로 tmux 세션을 종료시키도록 설정되어 있을 수 있습니다[1]
세션 사라짐 문제 해결 방법¶
1. 올바른 세션 분리 사용하기¶
터미널을 종료하기 전에 반드시 Ctrl+b d를 사용하여 세션을 분리하세요[2][3]. 이렇게 하면 세션이 백그라운드에서 계속 실행됩니다.
2. tmux 세션 자동 저장 설정¶
tmux 설정 파일(~/.tmux.conf)에 다음을 추가하여 세션을 자동으로 저장하고 복구할 수 있습니다[7]:
# 자동 세션 저장 관련 플러그인 설치 (tmux plugin manager 필요)
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
# 자동 저장 활성화
set -g @continuum-restore 'on'
3. 세션 종료 방지 설정¶
tmux 설정 파일에 다음 설정을 추가하여 창이 닫힐 때 세션이 종료되는 것을 방지할 수 있습니다[1]:
4. 세션 사라짐 문제 해결 팁¶
-
다른 사용자로 실행된 세션 확인: 세션이 보이지 않는다면 다른 사용자 계정으로 실행되었을 수 있습니다[10]. 다른 사용자로 로그인하여 세션을 확인해보세요.
-
tmux 서버 재시작: 간혹 tmux 서버에 문제가 생겨 세션이 보이지 않을 수 있습니다. 다음 명령을 실행해보세요:
-
세션 자동 종료 방지: 모든 클라이언트가 분리되었을 때 서버가 자동으로 종료되지 않도록 설정[6]:
-
마지막 창이 닫힐 때 세션 유지: 마지막 창이 닫혀도 세션이 유지되도록 설정[6]:
요약¶
tmux 세션 관리의 핵심은 세션을 올바르게 분리(detach)하는 것입니다. 터미널을 닫기 전에 항상 Ctrl+b d를 사용하여 세션을 분리하고, 나중에 tmux attach를 사용하여 다시 연결하세요. 추가적인 보호를 위해 tmux 설정 파일에 적절한 설정을 추가하고, 필요한 경우 세션 자동 저장 플러그인을 사용하세요.