Orca는 집 컴퓨터에서 에이전트와 저장소를 돌리고, 스마트폰은 그 세션을 원격으로 이어 받는 구성이다. 2026년 7월 27일 실기기 기준으로 Desktop의 모바일 (BETA) 화면은 QR 코드 생성으로 페어링한다. 공개 Orca Mobile 문서에 일회용 코드 경로가 남아 있으면, 앱에 QR이 없을 때만 그 경로가 기준이다.
실행 주체는 클라우드 가상 머신이 아니라 전원에 연결해 켜 둔 본체 PC, 구형 노트북, 미니PC다. Remote Server와 Access Link, Orca Relay는 범위 밖이다. Tailscale이 Connected가 아니면 Orca QR을 만들어도 폰이 서버에 닿지 않는다. 주소는 보통 100.으로 시작한다.
Orca Desktop과 Orca Mobile은 같은 계정으로 로그인한다. Claude Code, Codex, git 로그인 세션은 서버 컴퓨터 OS 사용자에 있어야 한다. 들고 다니는 노트북에만 있는 세션은 복사되지 않는다. 처음 페어링은 서버 화면이 필요하므로 집 안에서 끝내는 구성이 일반적이다. 서버가 잠들거나 꺼지면 모바일 연결도 끊긴다. 폰은 완전한 편집기가 아니다.
이 구성이 맞는 경우는 밖에 나가도 에이전트 상태를 보고 continue나 짧은 지시를 보내고 싶을 때, 그리고 집에 전원 연결해 켜 둘 컴퓨터가 있을 때다. 24시간 켜 둘 기계가 없거나 폰에서 긴 코드를 고치려는 경우에는 맞지 않는다. 터미널 로그만 보면 되는 경우에는 Tailscale SSH만으로도 충분한 경우가 있다. 회사 장비나 회사 저장소면 사내 정책이 이 구성보다 앞선다.

Desktop과 Mobile
Orca Desktop은 서버 컴퓨터에서 저장소를 열고 에이전트를 돌리는 앱이다. Orca Mobile은 그 서버의 worktree와 에이전트를 원격으로 다루는 클라이언트다. 둘은 같은 Orca 계정으로 로그인한다. 계정이 갈리면 페어링 행이 생기지 않거나, 생겨도 세션이 안 보인다.
서버에서 onorca.dev/download로 Orca Desktop을 설치한다. macOS는 brew install --cask stablyai/orca/orca도 가능하다. 실행 후 로그인하고, 밖에서 다룰 저장소를 연다. 집에서 에이전트를 한 번 돌려 명령이 도는지 본 뒤에 모바일로 나간다.
쓸 CLI는 서버에 설치되어 있고 로그인되어 있어야 한다. 공식 Remote Orca Servers도 에이전트가 실제로 돌아가는 쪽에 자격증명이 있어야 한다고 적는다. 폰에 Orca 계정만 있고 서버 OS 사용자에 CLI 로그인이 없으면, 모바일 화면의 오류는 서버 쪽 세션 부재다.
폰에 Orca Mobile을 설치하고 서버와 같은 Orca 계정으로 로그인한다. 앱 버전 번호는 가능하면 설정·정보에 적어 두면 나중에 화면이 바뀌었을 때 대조하기 쉽다. 버전 숫자는 추정하지 않는다.
준비물은 네 가지다. 서버 컴퓨터, 스마트폰, Orca 계정(데스크톱과 폰 동일), Tailscale 계정(서버와 폰 동일).
| 단계 | 내용 | 위치 |
|---|---|---|
| 1 | 24시간 켜 둘 서버 컴퓨터 선정 | 집 |
| 2 | Tailscale 설치와 동일 계정 로그인 | 서버와 폰 |
| 3 | 기기 목록에서 서버가 Connected | 폰 Tailscale |
| 4 | Orca Desktop 설치, 로그인, 저장소 열기 | 서버 |
| 5 | Orca Mobile 설치와 동일 계정 로그인 | 폰 |
| 6 | 연결 방식 LAN, 주소는 Tailscale 100. , QR 생성 | 서버 Orca |
| 7 | Pair Desktop으로 QR 스캔 | 폰 |
| 8 | 집 Wi-Fi와 LTE 대조, 절전·재부팅 | 서버와 폰 |
처음 설정은 보통 30~50분이다. Tailscale이 이미 Connected인 환경은 더 짧다.
핵심 포인트: Tailscale Connected가 페어링의 전제다. Orca QR은 그 위에 올라가는 앱 계층이고, 집이 꺼지면 폰 화면도 같이 끊긴다.
Tailscale 설치
Orca보다 Tailscale이 먼저다. Tailscale은 폰이 집 밖 LTE에서도 서버의 100. 주소에 닿게 하는 사설망이다. 순서를 바꾸면 QR만 있고 패킷이 없는 상태가 된다.
서버에서 tailscale.com/download로 OS별 클라이언트를 설치하고 로그인한다. 기기 이름을 orca-home처럼 알아보기 쉽게 바꾸는 경우가 많다. 폰에도 Tailscale을 설치하고 같은 계정으로 로그인한다. 계정이 갈리면 기기 목록에 서버가 없거나 Offline으로 보인다.
같은 집 Wi-Fi일 필요는 없다. Tailscale 개인 무료 플랜으로도 이 용도는 대개 충분하다. 폰에서 모델을 호출하면 집에서 누른 것과 같은 사용료가 나간다. 자격증명이 폰이 아니라 서버에 있으므로, 밖에서 쓰는 비용도 서버 쪽 계정으로 잡힌다.
다른 VPN이 켜져 있으면 Tailscale 경로가 꼬인다. 호텔 Wi-Fi는 중계가 끼는 경우가 많다.
Tailscale이 하는 일은 서버와 폰을 같은 tailnet에 넣는 것이다. 로그인 계정이 같아야 기기 목록에 상대가 보인다. 서버 기기 이름을 orca-home처럼 바꿔 두면 tailscale ping orca-home의 대상이 분명해진다. 개인 무료 플랜으로도 이 용도는 대개 충분하다. 폰에서 모델을 호출하면 집에서 누른 것과 같은 사용료가 나간다. 자격증명이 폰이 아니라 서버에 있으므로, 밖에서 쓰는 비용도 서버 쪽 계정으로 잡힌다.
Orca QR보다 Tailscale이 먼저인 이유는 QR이 앱 계층의 주소와 일회 정보를 넘기고, 패킷은 Tailscale이 나르기 때문이다. 순서를 바꾸면 QR만 있고 패킷이 없는 상태가 된다. 같은 집 Wi-Fi일 필요는 없다. LTE에서도 100. 주소가 살아 있으면 집 LAN IP 없이 닿는다. 집 LAN IP만 고르면 호텔이나 LTE에서 안 닿을 수 있다. 127.0.0.1은 그 컴퓨터 안에서만 통한다.
Connected
폰 앱 기기 목록에서 서버 옆이 Connected면 다음 단계로 넘어간다. Offline이면 같은 계정인지, 서버 Tailscale이 켜져 있는지부터 본다. Connected가 아닌데 Orca 페어링부터 하면 시간만 버린다.
품질만 보고 싶을 때 서버 터미널에서 아래 명령을 치면 설정을 바꾸지 않고 상태만 본다.
tailscale status
tailscale ping orca-home
tailscale netcheck
tailscale status는 기기 목록과 연결 상태를 보여 준다. tailscale ping orca-home은 그 기기까지 패킷이 가는지를 본다. tailscale netcheck는 NAT와 중계 경로를 본다. relay여도 터미널 조작은 대개 된다. Connected가 아닌 상태와 relay 상태를 같은 칸에 넣으면 페어링 실패의 원인이 섞인다.
Android에서만 자주 끊기면 Tailscale을 배터리 최적화 예외로 두는 경우가 많다.
주소
주소는 보통 100.으로 시작한다. Tailscale이 할당하는 CGNAT 대역이다. Orca 모바일 화면의 이 컴퓨터의 주소에서 옆에 (Tailscale)이 있고 100.으로 시작하는 줄을 고른다.
집 LAN IP만 고르면 호텔이나 LTE에서 안 닿을 수 있다. 127.0.0.1은 그 컴퓨터 안에서만 통한다. Tailscale이 목록에 없으면 서버 Tailscale을 실행한 뒤 화면을 새로고침한다.
연결 방식 LAN과 Tailscale 100. 주소가 한 쌍이다. LAN은 같은 Wi-Fi이거나 Tailscale로 이미 이어진 경우이며 추가 로그인이 없다. Orca Relay는 다루지 않는다.
QR 생성
서버 Orca에서 Settings(톱니)를 연다. 검색에 모바일을 쳐도 된다. 왼쪽 설정 시작 아래 모바일을 누른다. 오른쪽 제목이 모바일 (BETA) 이면 2026년 7월 실기기 화면과 같다. 메뉴가 안 보이면 앱 업데이트가 먼저다. QR이 끝내 없으면 공식 문서의 일회용 코드 경로를 쓴다.

휴대폰 페어링에서 연결 방식은 LAN을 고른다. 주소에서 Tailscale 100. 줄을 고른 뒤 QR 코드 생성을 누른다. QR은 그 주소와 페어링에 필요한 일회 정보를 폰에 넘기는 화면이다. 서버 화면이 필요하므로 처음은 집 안에서 끝낸다.

Pair Desktop
폰 Orca Mobile에서 Pair Desktop으로 그 QR을 스캔한다. 서버의 페어링된 장치에 새 행이 생기면 연결이 성립한 것이다. 행이 없으면 아직 연결된 게 아니다.
같은 Orca 계정, Connected, 100. Tailscale, Pair Desktop QR이 한 줄로 맞아야 한다. 하나가 빠지면 페어링 실패로 보인다. Tailscale 주소가 없는데 QR만 만들면 패킷이 없다.
공식 문서와 BETA 화면이 다르면 앱에 QR이 있을 때 앱 화면이 기준이다. QR이 없으면 문서의 일회용 코드가 기준이다.
QR이 넘기는 정보는 서버 주소와 일회 페어링 비밀이다. 그 비밀이 만료되면 같은 화면에서 QR을 다시 만든다. 폰이 스캔에 실패하면 Tailscale Connected와 100. 주소와 같은 Orca 계정을 먼저 본다. QR만 다시 찍고 Connected가 아니면 패킷이 없다. 처음 페어링은 서버 화면이 필요하므로 집 안에서 끝낸다. 밖에서 새 기기를 추가하려면 서버 앞이 다시 필요하다. Pair Desktop 행이 생긴 뒤에도 Tailscale이 Offline이면 목록만 있고 패킷은 없다. 행과 Connected가 같이 있어야 폰의 continue가 서버 waiting에 닿는다.
worktree
Orca Mobile은 집 서버의 worktree 목록을 보여 준다. worktree는 서버 OS 사용자 아래의 저장소 작업 트리이다. 폰에 새 개발 환경을 구성하는 일이 아니다. 파일 트리와 터미널 스크롤백, Source Control의 stage와 커밋이 그 트리 위에서 돈다.
상태가 안 맞으면 해당 worktree를 강제 새로고침한다. CLI 오류는 해당 도구를 서버에 설치하고 로그인한 뒤에야 폰 화면에 반영된다. 서버에 없는 CLI 로그인은 폰에서 만들 수 없다. 세션은 복사되지 않는다.
브라우저 뷰와 푸시 알림도 서버 worktree와 에이전트 상태에 묶여 있다. 집이 꺼지면 목록도 끊긴다.
continue
waiting 상태의 에이전트에 continue나 yes, 짧은 텍스트, 첨부, 음성을 보내는 일이 폰의 주된 조작이다. Live 모드도 문서에 있다. 폰에서 모델을 호출하면 집에서 누른 것과 같은 사용료가 서버 쪽 계정으로 잡힌다.
쓰기 권한이 열린 상태의 continue는 비용과 변경을 같이 키운다. 승인 버튼만 보고 범위를 추정하지 않는 편이 안전하다. 집 Wi-Fi에서 continue가 되고 LTE에서 안 되면, 앱이 아니라 네트워크 계층이다.
폰에서 안 되는 일
Orca Mobile 기준으로 worktree와 에이전트 상태 보기, 파일 탐색, 터미널 스크롤백, continue/yes/짧은 텍스트와 첨부/음성, Live 모드, Source Control의 stage와 커밋, 브라우저 뷰, 푸시 알림이 된다. 문서는 read-mostly(읽기와 짧은 조작 위주)로 설명한다. 긴 코드 편집은 되지 않는다.
| 되는 일 | 안 되는 일 | 이유 |
|---|---|---|
| waiting에 continue, yes | 긴 패치 편집 | 문서는 read-mostly |
| worktree 목록, 파일 트리 | 새 개발 환경 구성 | 저장소는 서버 OS 사용자 |
| stage와 커밋 | 서버에 없는 CLI 로그인 | 세션은 복사되지 않음 |
| 푸시 알림 | 서버 절전 중 원격 | 집이 꺼지면 연결 중단 |
가방에 넣어 다니는 노트북만으로는 서버가 잠들거나 꺼져 폰 연결도 끊긴다. 구형 노트북을 통풍되는 자리에 고정하는 방식은 해당한다.
worktree 목록이 보이는 것은 서버 Orca가 그 저장소를 연 상태라는 뜻이다. 폰의 파일 트리는 그 트리의 읽기다. 터미널 스크롤백은 서버에서 이미 돈 출력이다. Source Control stage와 커밋은 서버 git 인덱스와 사용자 설정 위에서 돈다. 커밋에 쓰는 이름과 이메일은 서버 OS 사용자 git config다. 폰에 git을 설치해도 그 값은 복사되지 않는다.
Live 모드와 음성, 첨부는 짧은 지시의 입력 경로다. 긴 패치 편집이 안 되는 이유는 화면이 작아서가 아니라, 문서가 클라이언트를 read-mostly로 정의해서다. waiting에 continue를 보내는 일은 서버 에이전트가 사람 입력을 기다리는 상태에 한 줄을 넣는 것이다. 서버가 절전이면 waiting도 없고 continue도 도착하지 않는다.
푸시 알림은 에이전트 완료를 폰에 알리는 경로다. 알림이 와도 집이 꺼져 있으면 다음 continue가 실패한다. 완료 푸시와 연결 생존은 다른 층이다.
Wi-Fi vs LTE
집 Wi-Fi에서만 보면 외부 접속 문제를 발견하지 못한다. 집에서 통과한 뒤 폰을 LTE/5G로 바꿔 같은 항목을 다시 보는 구성이 범위다.
대조 항목은 worktree 목록이 보이는지, waiting에 continue를 보내면 서버가 반응하는지, 파일 트리와 Source Control stage가 되는지, 에이전트 완료 푸시가 오는지다. 호텔 Wi-Fi는 중계가 끼는 경우가 많고, 다른 VPN이 켜져 있으면 Tailscale 경로가 꼬인다.
집 LAN IP로 페어링한 구성은 집 Wi-Fi에서만 되고 LTE에서 죽는다. 100. Tailscale 주소로 페어링한 구성은 집과 밖이 같은 사설망을 탄다.
절전
서버가 잠들거나 꺼지면 모바일 연결도 중단된다. 초보자 기본은 OS 설정(GUI) 이고, 강한 명령어는 GUI로 부족할 때만 쓴다.
macOS
- 전원 어댑터를 꽂은 상태에서 시스템 설정 → 배터리 → 옵션으로 들어간다.
- 전원 어댑터 사용 시 디스플레이가 꺼져 있어도 자동으로 잠자지 않기를 켠다. Apple도 잠자기 방지가 전력 사용을 늘릴 수 있다고 안내한다. (Apple 잠자기 안내)
- 뚜껑을 닫아 쓰는 구성이라면 가방이나 밀폐된 공간은 제외한다. 통풍이 되는 고정 장소에 전원을 연결한 경우에만 해당한다.
집 서버가 GUI만으로 부족할 때(고급) 아래를 쓸 수 있다. -c는 어댑터에만 적용된다. -a는 배터리에도 적용되므로 노트북을 어댑터에서 분리하면 방전·발열 위험이 있다. 되돌리기는 sudo pmset -a disablesleep 0이다.
sudo pmset -c sleep 0
sudo pmset -a disablesleep 1
pmset -g
pmset -g는 현재 절전 값을 보여 준다.
Windows 11
설정 → 시스템 → 전원 및 배터리에서 절전을 안 함으로 둔다. 잠금 후 다시 자는 경우가 있으면 관리자 터미널에서 숨김 항목을 표시한 뒤, 제어판 전원 옵션 고급 설정의 시스템 무인 절전 시간 제한을 0으로 둔다.
숨김 특성 표시는 아래와 같다. 다시 숨기려면 마지막을 +ATTRIB_HIDE로 바꾼다.
powercfg /attributes SUB_SLEEP 7bc4a2f9-d8fc-4469-b07b-33eb785aaca0 -ATTRIB_HIDE
Linux
서버 전용 장비라면 sleep 타깃을 막을 수 있다. 되돌리기는 unmask다.
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
일반 노트북이면 전면 mask 대신, 전원 연결 시 절전만 끄거나 /etc/systemd/logind.conf에 HandleLidSwitchExternalPower=ignore를 넣는 쪽이 안전하다. 데스크톱 환경이 lid를 직접 처리하면 logind 설정이 안 먹을 수 있다. (logind.conf)
정전과 재부팅 뒤 자동 켜짐, 로그인 후 Orca 자동 실행을 보고, 실제로 한 번 재부팅한 뒤 폰에서 다시 붙는다. OS 자동 로그인은 기본 권장이 아니다. 재부팅 복구에는 편하지만, 저장소와 API 토큰이 있는 기계에 물리 접근하면 바로 들어갈 수 있다. FileVault, BitLocker, LUKS 같은 디스크 암호화와 화면 잠금이 자동 로그인보다 앞선다. 가능하면 로그인 항목·서비스로 Orca만 올리는 편이 낫다.
Orca만 죽었을 때 폰으로 재시작하려면 Linux에서 tailscale set --ssh를 쓸 수 있다. 목적지에서 SSH 기능이 켜져 있어야 하고, tailnet의 네트워크·SSH 접근 정책이 허용되어야 하며, 접속할 OS 사용자가 있어야 한다. (Tailscale SSH) 이 명령을 실행하면 Tailscale IP로 연결된 기존 SSH 세션이 멈출 수 있다. 로컬 콘솔이나 다른 접속 수단을 확보한 뒤 설정한다. 원격에서 tailscale up --force-reauth는 그 연결을 끊을 수 있어 함부로 돌리지 않는다.
키 만료
새 tailnet의 기본 키 만료는 흔히 180일이다. 만료되면 그 기기 연결이 끊긴다. (Key expiry) 페어링 행이 있어도 Tailscale 키가 만료되면 폰이 서버에 닿지 않는다. 증상은 갑자기 끊김과 비슷하다.
장기간 무인 운영하는 신뢰할 수 있는 서버라면 Machines에서 Disable Key Expiry를 고려할 수 있다. 대신 분실·침해 시 접근이 오래 남을 수 있으니, ACL을 최소 권한으로 두고 안 쓰는 기기는 바로 제거한다. 무조건 끄기가 정답은 아니다.
| 증상 | 먼저 볼 것 |
|---|---|
| 페어링 실패 | 같은 Orca 계정, Connected, 100. Tailscale, Pair Desktop QR |
| Tailscale 주소 없음 | 서버 Tailscale 실행 후 새로고침 |
| 갑자기 끊김 | 서버 절전, 전원, Orca 실행 여부, 키 만료 |
| 느림 | 호텔 Wi-Fi 중계, 다른 VPN |
| Android만 자주 끊김 | Tailscale 배터리 최적화 예외 |
| CLI 오류 | 해당 도구를 서버에 설치하고 로그인 |
| QR 메뉴 없음 | 앱 업데이트 후, 없으면 공식 일회용 코드 |
나가기 전에 서버 전원과 네트워크, Tailscale Connected(서버와 폰), Orca Desktop 로그인과 열린 저장소, 모바일 QR 페어링 행, 집 Wi-Fi와 LTE 대조, 절전 설정, 재부팅 후 재접속, (선택) 키 만료 정책과 디스크 암호화를 본다. 여기까지면 밖에서 폰이 실제로 쓸모 있다.
waiting에 continue를 보내는 일은 서버 에이전트가 사람 입력을 기다리는 상태에 한 줄을 넣는 것이다. yes는 승인을 기다리는 프롬프트에 동의하는 짧은 조작이다. 긴 패치 편집은 문서가 클라이언트를 read-mostly로 정의해서 되지 않는다. 화면이 작아서가 아니다. 서버가 절전이면 waiting도 없고 continue도 도착하지 않는다.
푸시 알림은 에이전트 완료를 폰에 알리는 경로다. 알림이 와도 집이 꺼져 있으면 다음 continue가 실패한다. 완료 푸시와 연결 생존은 다른 층이다. Live 모드와 음성, 첨부는 짧은 지시의 입력 경로다. Source Control stage와 커밋은 서버 git 인덱스와 사용자 설정 위에서 돈다. 커밋에 쓰는 이름과 이메일은 서버 OS 사용자 git config다. 폰에 git을 설치해도 그 값은 복사되지 않는다.
새 tailnet의 기본 키 만료는 흔히 180일이다. 만료되면 그 기기 연결이 끊긴다. 페어링 행이 있어도 Tailscale 키가 만료되면 폰이 서버에 닿지 않는다. Machines에서 Disable Key Expiry는 장기간 무인 운영하는 신뢰할 수 있는 서버에서만 고려한다. ACL을 최소 권한으로 두고 안 쓰는 기기는 바로 제거한다. Orca만 죽었을 때 폰으로 재시작하려면 Linux에서 tailscale set --ssh를 쓸 수 있다. 목적지에서 SSH 기능이 켜져 있어야 하고, tailnet 정책이 허용되어야 하며, 접속할 OS 사용자가 있어야 한다. 이 명령을 실행하면 Tailscale IP로 연결된 기존 SSH 세션이 멈출 수 있다.
brew와 서버 자격증명
macOS 서버에서 Desktop을 올리는 다른 경로는 Homebrew cask다. brew install --cask stablyai/orca/orca가 공식 다운로드 페이지와 같은 앱을 받는다. 설치 후 로그인하고 밖에서 다룰 저장소를 연다. 집에서 에이전트를 한 번 돌려 명령이 도는지 본 뒤에 모바일로 나간다.
Claude Code, Codex, git 로그인은 서버 컴퓨터 OS 사용자에 있어야 한다. 폰 Orca 계정과 서버 OS 세션은 다른 층이다. 들고 다니는 노트북에만 있는 세션은 복사되지 않는다. 공식 Remote Orca Servers 문서도 에이전트가 실제로 돌아가는 쪽에 자격증명이 있어야 한다고 적는다. 모바일 화면의 CLI 오류는 대개 서버에 그 도구가 없거나 로그인이 없는 상태다.
앱 버전 번호는 설정·정보에 적어 두면 나중에 화면이 바뀌었을 때 대조하기 쉽다. 2026년 7월 27일 실기기는 Settings → 설정 시작 → 모바일 (BETA) → QR 코드 생성이다. 공개 문서에 일회용 코드가 남아 있으면, 앱에 QR이 없을 때만 그 경로가 기준이다.
나가기 전 점검
집 Wi-Fi에서 worktree와 continue가 된 뒤, 폰을 LTE로 바꿔 같은 네 항목을 다시 본다. 목록, continue 반응, Source Control stage, 완료 푸시다. 집 LAN IP로 페어링한 구성은 이 대조에서 죽는다. 100. Tailscale이면 집과 밖이 같은 사설망을 탄다.
재부팅 한 번은 정전 복구의 증명이다. BIOS/UEFI의 전원 복구, OS 로그인 후 Orca 자동 실행, 폰에서 다시 붙기가 한 세트다. OS 자동 로그인은 저장소와 API 토큰이 있는 기계에 물리 접근하면 바로 들어가므로 기본이 아니다. FileVault, BitLocker, LUKS와 화면 잠금이 앞선다. 로그인 항목이나 서비스로 Orca만 올리는 편이 낫다.
키 만료 180일은 tailnet 기본값이다. Machines에서 Disable Key Expiry는 신뢰할 수 있는 서버에만 해당한다. ACL 최소 권한과 안 쓰는 기기 제거가 같이 간다. Linux에서 tailscale set --ssh는 Orca만 죽었을 때 폰으로 재시작하려는 선택이다. 기존 Tailscale SSH 세션이 멈출 수 있어서 로컬 콘솔을 확보한 뒤 설정한다. tailscale up --force-reauth는 그 연결을 끊을 수 있다.
Android만 자주 끊기면 Tailscale을 배터리 최적화 예외로 둔다. 호텔 Wi-Fi 중계와 다른 VPN은 느림의 흔한 원인이다. relay는 실패가 아니라 경로의 종류다. Connected가 아닌 상태와 섞지 않는다.
tailscale status는 기기 이름과 주소, 연결 상태를 보여 준다. tailscale ping orca-home은 그 이름까지 ICMP가 가는지를 본다. 기기 이름을 orca-home으로 바꿔 두면 ping 대상이 분명하다. tailscale netcheck는 NAT 종류와 DERP 중계 여부를 본다. 집 LAN IP는 192.168 같은 사설 주소이고, Tailscale 주소는 100.으로 시작한다. 127.0.0.1은 루프백이다. 세 주소를 한 칸에 넣으면 밖에서 죽는 원인을 나중에 가리지 못한다.
Orca 모바일 화면의 연결 방식 LAN은 같은 Wi-Fi이거나 Tailscale로 이미 이어진 경우에 추가 로그인이 없다. QR 코드 생성은 그 주소와 페어링 일회 정보를 폰에 넘긴다. Pair Desktop이 스캔하면 서버의 페어링된 장치 행이 생긴다. 행이 없으면 앱 계층이 아직 연결되지 않은 것이다. Tailscale이 Offline인데 행만 있으면 패킷이 없다.
macOS 절전 GUI는 시스템 설정 → 배터리 → 옵션에서 어댑터 사용 시 디스플레이가 꺼져 있어도 잠자지 않기를 켠다. sudo pmset -c sleep 0은 어댑터에서만 sleep을 끈다. sudo pmset -a disablesleep 1은 배터리에도 적용되므로 노트북을 분리하면 방전과 발열 위험이 있다. pmset -g는 현재 값을 보여 준다. 되돌리기는 sudo pmset -a disablesleep 0이다.
Windows는 설정 → 시스템 → 전원 및 배터리에서 절전을 안 함으로 둔다. 잠금 후 다시 자면 powercfg /attributes SUB_SLEEP 7bc4a2f9-d8fc-4469-b07b-33eb785aaca0 -ATTRIB_HIDE로 숨김 항목을 표시한 뒤, 제어판 전원 옵션 고급의 시스템 무인 절전 시간 제한을 0으로 둔다. 다시 숨기려면 +ATTRIB_HIDE다.
Linux 서버 전용은 systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target이다. 되돌리기는 unmask다. 일반 노트북은 /etc/systemd/logind.conf의 HandleLidSwitchExternalPower=ignore가 뚜껑을 닫아도 전원 연결 시 켜 두는 쪽이다. 데스크톱 환경이 lid를 직접 처리하면 logind 설정이 안 먹을 수 있다.
worktree 강제 새로고침은 서버 트리와 폰 화면이 어긋날 때 쓴다. CLI 오류는 해당 도구를 서버에 설치하고 로그인한 뒤에야 폰 화면에 반영된다. 공식 Remote Orca Servers 문서도 에이전트가 실제로 돌아가는 쪽에 자격증명이 있어야 한다고 적는다. 폰 Orca 계정과 서버 OS 세션은 다른 층이다.
처음 설정은 보통 30에서 50분이다. Tailscale이 이미 Connected인 환경은 더 짧다. 준비물은 서버 컴퓨터, 스마트폰, 같은 Orca 계정, 같은 Tailscale 계정이다. Remote Server와 Access Link, Orca Relay는 이 구성의 범위 밖이다. 터미널 로그만 보면 되는 경우에는 Tailscale SSH만으로도 충분한 경우가 있다. 회사 장비나 회사 저장소면 사내 정책이 이 구성보다 앞선다.
마무리
앞에서 다룬 Orca Mobile과 Tailscale 집 서버 구성의 핵심만 짧게 정리한다.
- 일은 집 컴퓨터에서 돌아가고, 폰은 상태와 짧은 조작만 맡는다.
- Tailscale Connected와
100.주소가 QR 페어링보다 앞선다. - 연결 방식은 LAN이고, Pair Desktop으로 QR을 스캔하면 페어링 행이 생긴다.
- worktree와 continue는 서버 OS 사용자 세션 위에서 돈다. 긴 코드 편집은 되지 않는다.
- 집 Wi-Fi와 LTE를 둘 다 본다. 집 LAN IP만 고르면 밖에서 끊긴다.
- 서버 절전, 재부팅, 키 만료를 빼먹으면 페어링 행이 있어도 밖에서 죽는다.
- 회사 장비는 사내 정책이 이 구성보다 앞선다.
「집이 꺼지면 폰도 꺼진다. QR은 Connected 위에만 의미가 있다」 Orca 버전 숫자는 추정하지 않는다. 화면 라벨이 바뀌면 앱 버전과 공식 문서를 같은 날짜에 적는다.
출처와 링크
- Orca Mobile: https://www.onorca.dev/docs/mobile
- Remote Orca Servers: https://www.onorca.dev/docs/remote-servers
- Ways to run Orca: https://www.onorca.dev/docs/ways-to-run
- Tailscale 다운로드: https://tailscale.com/download
- Tailscale Key expiry: https://tailscale.com/docs/features/access-control/key-expiry
- Tailscale SSH: https://tailscale.com/docs/features/tailscale-ssh
- Apple Mac 잠자기: https://support.apple.com/guide/mac-help/mchle41a6ccd/mac
- systemd logind.conf: https://www.freedesktop.org/software/systemd/man/latest/logind.conf.html
조사 기준: 2026년 8월. 공식 문서와 2026년 7월 27일 실기기 BETA 화면을 대조했다. 페어링 UI는 사용자 화면 기준이며, 문서와 다르면 앱 화면을 우선하되 QR이 없으면 공식 문서 경로를 쓴다.