휴대폰에서 빠르게 터미널 명령 실행하기 (SSH에 붙어 살지 않고)
실제 터미널은 머신에 그대로 둔 채, 휴대폰에서 빠르게 셸을 확인하는(git status, 로그, 개발 서버) 워크플로.
- CLI
- 0.2.17
- 프리뷰 ref
- a2c45c8
참고: 기능 매트릭스 (영어)에 따르면 내장 터미널은 실험적 기능입니다. 세션 안에서 명령을 빠르게 실행할 수 있지만, 본격적인 터미널 워크플로에는 SSH/tmux나 Herdr 같은 전용 터미널 호스트를 고려하세요.
휴대폰에서는 보통 "완전한 터미널 경험"을 원하지 않습니다.
원하는 건 더 작습니다.
git status실행- 로그 tail
- 개발 서버가 떠 있는지 확인
- 세션이 출력한 로컬 URL 복사/열기
대부분은 별도의 SSH 앱으로 넘어가는 것만으로도 그 일을 미루게 됩니다.
도움이 되는 건 진짜(리포지토리가 있는 머신에서 실행)이면서도 작은 화면에서 SSH/tmux 설정 전체로 끌려 들어가지 않는 "빠른 명령" 워크플로입니다.
대부분의 도구는 두 극단 중 하나를 강요합니다.
- SSH/tmux에서 살기
- 터미널 없음(스크린숏, 로그, 에이전트가 한 말뿐)
코딩 에이전트를 크로스 디바이스로 실행하고 오케스트레이션하는 오픈 소스 앱 Happier는 세션에 연결된 내장 터미널을 제공합니다.
요약
- 무엇이 필요한지 정합니다:
- 실제 명령/로그 몇 줄(잘 맞음), 또는
- 본격적인 터미널 워크플로(SSH/tmux가 여전히 나음)
- 명령을 실행할 머신에 Happier를 설정하고(데몬 연결) 휴대폰을 연결합니다.
- 아무 세션이나 열고 → 세션 헤더에서 Terminal을 탭합니다.
- 빠른 명령과 로그에 사용합니다. 다시 연결되고 세션을 따라갑니다.
문제
휴대폰에서 Happier를 쓸 때는 보통 작은 결정을 내리는 중이지 "하루 종일 터미널 작업"을 하는 게 아닙니다.
하지만 작은 결정에도 실제 상태가 필요합니다.
- 지금 어느 브랜치지?
- 그 명령은 끝났나?
- 오류 줄은 뭐지?
내장 터미널이 유용한 건 맥락 전환이 아니라 세션 UI의 일부이기 때문입니다.
일반적인 방법과 트레이드오프
- SSH 앱 + tmux: 충분히 동작하지만 휴대폰에서는 마찰이 큽니다.
- 원격 데스크톱: 동작하지만 무겁고 번거롭습니다.
- 에이전트 트랜스크립트만 믿기: 실제 명령 출력 하나가 필요해지기 전까지는 괜찮습니다.
- Happier 내장 터미널: 실제 셸을 세션 중심 워크플로로 씁니다.
Happier가 처음이라면 (무엇이고 어디서 받는지)
Happier를 처음 본다면: Claude Code, Codex, OpenCode 같은 AI 코딩 에이전트를 위한 오픈 소스 컴패니언 앱(모바일/웹/데스크톱)입니다.
여기서의 워크플로: 리포지토리/워크스페이스는 소유 머신에 두고, 휴대폰에서 Happier로 확인하고 조작합니다. 가끔 셸 명령도 포함해서요.
설정하기:
- 휴대폰에서 Happier 사용하는 방법
- GitHub: https://github.com/happier-dev/happier
- 설치/다운로드: https://github.com/happier-dev/happier#how-it-works
- Discord (커뮤니티 + 지원): https://discord.gg/W6Pb8KuHfg
실제로 쓸 수 있는 워크플로 (단계별)
1) 내장 터미널 기능 켜기
Settings → Features를 열고 다음을 켭니다:
- Embedded terminal
기본 위치도 고릅니다:
- Bottom panel(큰 화면에 권장)
- Sidebar
- Details panel
휴대폰에서는 데스크톱식 도킹 패널을 화면에 유지하려 하지 않고, 터미널에 집중한 화면을 씁니다.
2) 세션에서 터미널 열기
- 아무 세션이나 엽니다.
- 세션 헤더에서 Terminal을 탭합니다.
연결된 데몬이 뒷받침하는 실시간 셸이 열립니다.
3) "세션 주변" 명령에 사용
자주 쓰는 예:
git statusgit difftail -f <logfile>pnpm dev/npm run dev(그다음 감지된 URL 열기)
중요한 점: 명령은 현재 세션의 연결된 머신에서 실행됩니다.
4) 셸을 잃지 않고 터미널 옮기기
내장 터미널은 세션이 소유한 하나의 터미널처럼 느껴지도록 만들어졌습니다.
그래서 다른 위치(하단/사이드바/상세)에 도킹해도 Happier는 같은 터미널 세션을 유지합니다.
5) 프로바이더 로그인 흐름에도 같은 터미널 기반 사용
일관성 측면에서 좋은 점입니다. 프로바이더가 Happier 안에서 네이티브 CLI 로그인 흐름을 지원하면, 그 로그인 화면은 같은 내장 터미널 전송 경로를 재사용합니다.
그래서 터미널 동작(재연결, 지우기/재시작, 감지된 URL 배너)을 알고 나면 프로바이더 로그인 UI도 익숙하게 느껴집니다.
요구 사항 (충족해야 할 것)
터미널이 열리지 않으면, 문서는 세 가지 요구 사항으로 정리합니다.
- Embedded terminal 기능 토글이 켜져 있다
- 데몬이 실행 중이고 연결되어 있다
- 세션이 접근 가능한 머신 대상으로 확인된다
머신이 오프라인이거나 데몬이 연결되지 않았다면 실시간 셸 대신 오류 상태가 보입니다.
동작하는 이유 (그리고 깨지는 경우)
Happier가 터미널을 (별도의 깨지기 쉬운 "원격 터미널 페이지"가 아니라) 세션의 일부로 다루기 때문에 동작합니다.
깨지는 경우:
- 데몬이 실행 중이 아님
- 다른 서버 프로필에 있음
- 세션이 접근 가능한 머신으로 확인되지 않음
흔한 실수
- 기능은 켰는데 데몬을 잊음 → 터미널은 데몬 기반입니다.
- 휴대폰에서 실행된다고 기대함 → 연결된 머신에서 실행됩니다.
- 긴 대화형 작업에 사용 → 빠른 확인과 로그에 적합합니다.