Termux에서 tmux가 필요한 이유

 

안드로이드에서 Termux로 작업하다 보면 앱 전환/절전 정책 때문에 터미널 작업이 끊기거나, 작은 화면에서 여러 작업을 동시에 보기 어려운 경우가 많습니다. tmux는 한 화면(한 Termux) 안에서 작업을 “묶어서” 관리하고, 필요할 때 세션을 분리(Detach)해 백그라운드로 안전하게 돌려둘 수 있게 해줍니다. 모바일에서는 특히 화면 분할(Pane)보다 “탭 전환”처럼 쓰는 윈도우(Window)가 생산성을 크게 올려줍니다.

tmux 핵심 개념 3가지

tmux는 크게 Session / Window / Pane 3단위로 생각하면 이해가 끝납니다.

  • Session: 작업 묶음(프로젝트 단위). “개발 세션”, “서버 모니터링 세션”처럼 큰 컨텍스트를 보관합니다.
  • Window: 세션 안의 탭(브라우저 탭 같은 느낌). 모바일에서는 이게 메인입니다.
  • Pane: 한 윈도우를 분할한 칸. 화면이 작아서 자주 쓰진 않지만, 필요할 때 빠르게 나눠볼 수 있습니다.

또 하나의 규칙은 tmux 단축키가 대부분 “Prefix(기본: Ctrl+b)”로 시작한다는 점입니다. 즉, Ctrl+b를 먼저 누른 뒤 다음 키를 눌러 동작을 실행합니다.

Termux에서 기본 세팅

Termux에서는 보통 다음처럼 설치합니다.

pkg update
pkg install tmux

안드로이드에서는 백그라운드에서 앱이 죽지 않도록 “깨워두기”가 중요합니다. 상황에 따라 방법이 다를 수 있지만, 흔히 쓰는 방식은 다음 둘 중 하나입니다.

  • Termux 알림(상단 드롭다운)에서 Wakelock(또는 유사 옵션) 활성화
  • Termux 명령으로 wakelock 유지(지원되는 환경이라면)

또한 스마트폰 키보드에는 Ctrl/방향키가 불편하므로, Termux의 Extra keys(상단 확장 키 줄)를 켜두면 Prefix 입력이 훨씬 쉬워집니다.

자주 쓰는 단축키 치트시트

아래 표만 익혀도 “Termux에서 tmux 쓰는 맛”이 바로 납니다. Prefix는 Ctrl + b를 의미합니다.

목적단축키/명령
새 세션 시작tmux new -s dev
세션 목록 보기tmux ls
세션 재접속(attach)tmux a -t dev (또는 tmux attach -t dev)
세션 분리(detach)Prefix + d
새 윈도우(탭)Prefix + c
다음/이전 윈도우Prefix + n / Prefix + p
윈도우 이름 바꾸기Prefix + ,
세로/가로 분할(Pane)Prefix + % / Prefix + "
Pane 이동Prefix + 방향키(환경에 따라 h/j/k/l)
Pane 닫기Prefix + x
Pane 확대/축소(줌)Prefix + z

모바일에서는 “윈도우 이동(탭 전환)” + “detach/attach” 조합을 가장 많이 씁니다. Pane은 정말 필요할 때만 쓰고, 썼다면 Prefix + z로 확대해서 가독성을 확보하는 식이 편합니다.

실전 예제: code-server를 0.0.0.0에 바인딩하고 detach

목표는 “Termux 안에서 code-server를 계속 돌려두고, 내가 Termux에서 빠져나와도 서버는 유지”입니다. 아래는 code-server가 이미 설치되어 있다고 가정한 가장 단순한 흐름입니다(설치 방식은 환경마다 다를 수 있어 본문에서는 생략).

1) tmux 세션 만들기

tmux new -s dev

2) (권장) 윈도우 이름 정리

서버용 윈도우를 알아보기 쉽게 이름을 바꿉니다.

  • Prefix + , 누른 뒤 code-server 입력 후 Enter

3) code-server 실행 (0.0.0.0 바인딩)

같은 Wi‑Fi의 다른 기기(PC/태블릿)에서 접속하려면 0.0.0.0로 바인딩합니다.

code-server --bind-addr 0.0.0.0:8080

주의할 점이 있습니다. 0.0.0.0은 “모든 인터페이스에서 받겠다”는 의미라서, 네트워크에 따라 외부 노출 위험이 생길 수 있습니다. 가능한 한 신뢰할 수 있는 내부망에서만 쓰고, 인증(비밀번호) 설정을 확인하거나 필요하면 방화벽/테더링/포트 변경 같은 추가 안전장치를 고려하세요.

4) 서버는 두고, 나는 빠져나오기(detach)

서버 로그가 올라오고 있는 상태에서:

  • Prefix + d

그러면 원래 셸로 돌아오며(세션에서 빠져나옴), code-server는 tmux 세션 안에서 계속 실행됩니다.

5) 나중에 다시 들어가기(attach)

tmux ls
tmux a -t dev

이 패턴을 익히면 “폰에서는 서버만 띄워두고, 실제 코딩은 다른 기기 브라우저로 접속” 같은 운영이 굉장히 편해집니다.

댓글