Termux Bridge · 설치법 웹진

폰 하나로
AI 서버를 돌린다

명령어 딱 한 줄 복붙하면 끝.
코딩 지식 0 · Galaxy + Termux · Claude Max

0
설치 스크립트
0
MCP 도구
0
위젯
0
직접 코딩
⚡ 지금 설치하기
SCROLL ▼
$ cat architecture.txt
📱
Galaxy 폰
>
Termux Bridge
🖥️
AI 워크스테이션
termux — bash — 80×24
~ $ curl -O https://raw.githubusercontent.com/dtslib1979/termux-bridge/main/g && bash g
Installing git, node, python, ffmpeg, gh...
Installing Claude Code CLI + MCP servers...
✔ 15 scripts · 18 MCP tools · 8 widgets ready
~ $
🎓 학습 & 참조 코스 9모듈 · 레퍼런스 · 페이지 맵
MORE

다른 형태로 보기

⚡ 설치 & 환경 세팅 원클릭 설치 · 위젯 · 탭 · WTG
01

⚡ 설치 — 명령어 한 줄

Termux 폰을 Claude Code + DeepSeek Aider + MCP 서버 + 위젯 8개로 바꾼다. 파이프(`|`) 없음. 복붙만 하면 된다.

✅ 설치 명령어 (Termux 터미널에서)
curl -O https://raw.githubusercontent.com/dtslib1979/termux-bridge/main/g && bash g
⚠️
삼성 키보드 주의: `.?123` 첫 페이지만 사용할 것. 파이프(`|`) 없음. `curl -O` = URL에서 `g` 파일 받음 → `&& bash g` = 실행.
02

🚀 빠른 시작 — 생초보 → 에이전트

zero.sh 하나면 DeepSeek 에이전트 즉시 구동. Claude Code가 대신 다 해준다.

🚀 zero.sh — 생초보 → 에이전트 즉시 구동
curl -fsSL https://raw.githubusercontent.com/dtslib1979/termux-bridge/main/zero.sh | bash
1
Claude Code로 DeepSeek 구동

위 명령어가 하는 일:

  • pkg update + nodejs/git/openssh 설치
  • npm install -g @anthropic-ai/claude-code
  • DeepSeek API 키 등록
  • claude --model deepseek-chat 즉시 실행
💡
설치 후 에이전트한테 시킬 일: "레포 클론해줘", "SSH 키 등록해줘", "위젯 만들어줘", "RustDesk 설치해줘" — 말만 하면 된다.
03

📦 전체 설치 — install.sh

Termux · Ubuntu · macOS 전부 지원. BOM 원장 자동 생성 + phoneparis baptism 동기화.

🔧 플래그 목록
bash install.sh # 전체 설치
bash install.sh --dry-run # 설치 없이 체크만
bash install.sh --verify # 이미 설치된 환경 검증만
bash install.sh --bom-only # BOM JSON 생성만 (설치 없음)

시스템 패키지 16종

패키지명령어용도
gitgit버전 관리
nodenodeJS 런타임
pythonpython3Python 런타임
ffmpegffmpeg오디오/비디오 처리
ghghGitHub CLI
imagemagickconvert이미지 변환/처리
jqjqJSON 처리
popplerpdftotextPDF 도구
rclonercloneGoogle Drive 동기화
rsyncrsync파일 동기화
treetree디렉토리 시각화
wgetwget파일 다운로드
android-toolsadbADB 바이너리
chromiumchromium-browserCDP 스크린샷 (Termux)
cmakecmake빌드 도구
ninjaninja빌드 도구

Python 패키지 3종

패키지버전용도
pillow12.1.1이미지 처리 (OpenCV 대체)
numpy2.2.5수치 연산
requests2.32.5HTTP 클라이언트

npm 패키지 2종

패키지범위용도
claudeglobalClaude Code CLI
wslocalCDP WebSocket 연결

Android 앱 (수동 설치)

패키지 ID용도
Shizukumoe.shizuku.privileged.apiADB급 시스템 권한 — 루트 없이

설치 불가 — 대안 사용

도구이유대안
opencv-pythonaarch64 빌드 실패pillow
scipy빌드 실패numpy
puppeteerAndroid 미지원CDP 직접 연결
playwrightAndroid 미지원GitHub Actions
docker커널 제약불가
lighthouse빌드 실패GitHub Actions
04

📱 위젯 8개 — 폰에서 원클릭

Termux:Widget으로 홈 화면에 추가. 탭만 하면 PC 접속 · 에이전트 실행 · 헬스체크.

폰 위젯 (8개)

0
Setup
WSL 원격 부트스트랩
1
Aider
DeepSeek+aider
2
Claude
Claude Code
3
Health
헬스체크 → TG
4
Notify
메시지 → TG
5
Recover
원클릭 복구
6
RustDesk
원격 접속
7
ADB
ADB mesh
ℹ️
Termux:Widget 설치: F-Droid에서 설치 후 홈 화면에 위젯 추가. 위젯을 탭하면 각 기능 즉시 실행.
05

📟 Tab S9 생산센터 세팅

탭은 생산 디바이스 — 소비 앱 전부 삭제. 4대 축(Capture/Visual/Communication/Lite Dev)만 남긴다.

💡
철학: 폰(S25 Ultra) = Voice/Text/Code/Audio 생산 엔진. 탭(Tab S9) = Capture/Visual/Communication/Lite Dev 전담.
06

🖥️ WTG — PC 자동 복구 시스템

Windows To Go 이동식 디스크를 복구 레인으로 사용. 전원 ON → WTG 부팅 → NVMe 감지 → 자동 전환.

1
부팅 타임라인
[0초] 전원 ON → WTG 부팅 (BIOS 1순위)
[30초] WTG Win10 자동 로그인
[1분] 01_wtg_nvme_check.bat 실행
[1분15초] NVMe 정상 → bootsequence 설정 → 15초 후 재부팅
[2분] NVMe Win11 부팅
[3분] WSL 시작 → 5-Lane 올라옴
[3분30초] 폰에서 "pc" → Claude Code 접속 가능
2
Startup 스크립트 배포
# WTG Startup 폴더에 배포
cp wtg/01_wtg_nvme_check.bat "/mnt/w/ProgramData/Microsoft/Windows/Start Menu/Programs/Startup/"
cp wtg/03_parksy_agent.bat "/mnt/w/ProgramData/Microsoft/Windows/Start Menu/Programs/Startup/"

# 1회 설정 재실행 유도
rm -f /mnt/w/wtg_setup_done.flag
3
부팅 순서 관리
WTG 1순위 설정
bcdedit /set {fwbootmgr} displayorder {c8308535-39f2-11f1-9f65-806e6f6e6963} {bootmgr} {e34d72c8-3b41-11f1-9f6a-806e6f6e6963} {0f75cbeb-3c54-11f1-9f6e-806e6f6e6963}
NVMe 1순위 (WTG 바이패스)
bcdedit /set {fwbootmgr} displayorder {bootmgr} {c8308535-39f2-11f1-9f65-806e6f6e6963}
4
WTG 경량화 — 서비스 27개 비활성화
PowerShell (관리자 권한)
powershell.exe -ExecutionPolicy Bypass -File install/wtg-slim-services.ps1
🔧 운영 & 자료실 삽질사전 · BOM · 교재 · 부록
07

🔧 문제 해결 — 삽질 사전

3개월 실운영 중 만난 에러와 그 해결법. 전부 실제 로그 기반.

Termux 관련

1
위젯이 안 보여요
am broadcast -n com.termux.widget/.WidgetProvider -a android.intent.action.ACTION_POWER_CONNECTED

Termux:Widget 앱이 설치되어 있어야 위젯이 보인다.

2
proot Ubuntu 오류
proot-distro install ubuntu # 다시 설치
proot-distro login ubuntu -- apt update # 업데이트
3
API 키 오류
echo "DEEPSEEK_API_KEY=sk-xxxxxxxx" > ~/__d_.env

SSH 관련

4
SSH 접속이 계속 끊길 때 체크리스트
# 1. SSH 루프 확인 (CPU 폭주 원인)
ps aux | grep ssh

# 2. tailscaled 상태
systemctl status tailscaled

# 3. wslconfig 확인
cat /mnt/c/Users/dtsli/.wslconfig

# 4. 포트 점유 확인
lsof -i :9876

# 5. tmux 세션 목록
tmux ls
5
SSH 긴급 탈출법

연결이 완전히 먹통일 때: ~. — 물결표(`~`) 누르고 바로 마침표(`.`) = SSH 강제 종료

tmux 관련

6
tmux 화면 깨짐

증상: 점선 도배, 글자 겹침, 입력 안 됨

tmux kill-server # 모든 tmux 세션 종료
tmux new -s work # 새로 시작

git 관련

7
git pull이 안 될 때
git checkout -- [파일명] # 해당 파일 되돌리기
git pull # 그 다음 pull

LMK (Low Memory Killer)

🚨
S25 Ultra LMK 문제: ONNX 모델 920MB를 278MB free 공간에 로드 → LMK가 Termux를 즉시 살해. 해결: heavy inference는 WSL2로 전면 이전. 폰은 watchdog만 유지.
08

📋 BOM 원장 — 패키지 전수 목록

install/bom.json — 검증된 패키지 원장. phoneparis baptism과 동기화되는 공식 BOM.

BOM 생성
bash install.sh --bom-only # BOM만 생성
phoneparis baptism 동기화
bash install/sync-bom.sh # BOM → phoneparis 자동 동기화
ℹ️
canonical=true인 BOM(Termux에서 생성)만 phoneparis 원장으로 사용. 비Termux 환경 BOM은 참고용.
09

📖 교재 — 폰 하나로 AI를 쓴다, 만든다, 움직인다

Claude Code × Termux 실전 교재. 3개월 실전 경험을 39장으로 압축.

💡
이 교재를 쓰는 이유: 3개월 동안 일단 썼다. 이제 알고 쓸 타이밍이다. 실패, 삽질, 재시도가 그대로 담겨 있다.
A

📎 부록 — 명령어 레퍼런스

새 폰 환경 원클릭 세팅

curl -fsSL https://raw.githubusercontent.com/dtslib1979/termux-bridge/main/setup.sh | bash && source ~/.bashrc

설치 후 사용법

pc # PC 접속 (autossh — 끊겨도 자동 재접속)
cm # claude-main tmux 세션으로
ct # tablet tmux 세션으로
cc # termux-bridge에서 claude 실행
cb # termux-bridge 폴더 이동

RustDesk 자가진단

bash install/doctor.sh # 진단만
bash install/doctor.sh --fix # 진단 + 자동복구

ADB Mesh 자동 복구

bash install/adb_revive.sh phone # 폰 ADB 복구
bash install/adb_revive.sh tab # 탭 ADB 복구
bash install/adb_revive.sh all # 둘 다 복구

MCP 3개 서버 시작 (WSL2)

bash ~/parksy-audio/start_wsl2_mcp.sh # 3개 동시 시작

# 개별 시작
python3 ~/parksy-audio/mcp_voice/wsl2_voice_mcp_sse.py &
python3 ~/parksy-audio/mcp_voice/wsl2_audio_mcp_sse.py &
python3 ~/parksy-audio/mcp_voice/wsl2_publish_mcp_sse.py &

# 레시피 실행
cd /tmp && python3 recipe_runner.py

# 로그 확인
tail -f ~/parksy-audio/logs/wsl2_voice.log

ds.bat — Claude Code 스킨 + DeepSeek 과금 (Windows)

1
설치

windows/ds.batC:\Users\{유저명}\AppData\Roaming\npm\에 복사

스킨은 Claude, 과금은 DeepSeek

파일 구조

termux-bridge/
├── easy/ ← 🆕 쉬운 비유 랜딩
├── CLAUDE.md ← AI 파싱 진입점
├── index.html ← 이 웹진
├── easy/ ← 비유 랜딩 페이지
├── guide/ ← 9모듈 강의
├── docs/ ← 기술 문서 (8개 카테고리)
├── install.sh ← 유니버설 인스톨러
├── widgets/ ← 위젯 스크립트
├── windows/wtg/ ← WTG 부팅 자동화
├── phone-health/ ← S25 Ultra 정기검진
└── 00_TRUTH/ ← 자동화 경계 문서

RustDesk 자가진단

bash install/doctor.sh # 진단만
bash install/doctor.sh --fix # 진단 + 자동복구

ADB Mesh 자동 복구

bash install/adb_revive.sh phone # 폰 ADB 복구
bash install/adb_revive.sh tab # 탭 ADB 복구
bash install/adb_revive.sh all # 둘 다 복구

MCP 3개 서버 시작 (WSL2)

bash ~/parksy-audio/start_wsl2_mcp.sh # 3개 동시 시작

# 개별 시작
python3 ~/parksy-audio/mcp_voice/wsl2_voice_mcp_sse.py &
python3 ~/parksy-audio/mcp_voice/wsl2_audio_mcp_sse.py &
python3 ~/parksy-audio/mcp_voice/wsl2_publish_mcp_sse.py &

# 레시피 실행
cd /tmp && python3 recipe_runner.py <recipe_name>

# 로그 확인
tail -f ~/parksy-audio/logs/wsl2_voice.log

ds.bat — Claude Code 스킨 + DeepSeek 과금 (Windows)

1
설치

windows/ds.batC:\Users\{유저명}\AppData\Roaming\npm\에 복사

스킨은 Claude, 과금은 DeepSeek

파일 구조

termux-bridge/
├── CLAUDE.md ← AI 파싱 진입점
├── README.md ← 프로젝트 개요
├── DEVLOG.md ← 개발일지 (삽질 기록 보존)
├── index.html ← 이 웹진
├── install.sh ← 유니버설 인스톨러
├── install/
│ ├── bom.json ← 검증된 패키지 원장
│ ├── doctor.sh ← RustDesk 자가진단
│ ├── adb_revive.sh ← ADB mesh 복구
│ └── tab_cleanup.sh ← 탭 정리
├── widgets/
│ ├── phone/ ← 폰 위젯 8개
│ └── tab/ ← 태블릿 위젯 13개
├── windows/wtg/ ← WTG 부팅 자동화
├── workcenter/ ← 워크센터 생산 디렉토리
├── config/ ← RustDesk 설정
├── phone-health/ ← S25 Ultra 정기검진
├── docs/ ← 기술 문서
└── 00_TRUTH/ ← 자동화 경계 문서
✅ 복사 완료! 터미널에 붙여넣으세요
📋 게시판 💬 단체톡