내 부계정은 매일 자동으로 X에 포스팅합니다 — 그 설정 방법
요약
Raspberry Pi와 Claude Code를 활용하여 X(트위터)와 note에 자동으로 포스팅하는 시스템 구축 방법을 소개합니다. 상시 가동 머신을 통해 메인 노트북의 리소스를 점유하지 않고, 모바일로 원격 제어하며 자동화된 AI 에이전트를 운영하는 노하우를 다룹니다.
핵심 포인트
- 상시 가동 머신(Raspberry Pi 등)을 활용한 자동화 환경 분리
- Claude Code의 원격 제어 기능을 통한 모바일 기반 에이전트 관리
- cron과 AI 에이전트를 결합한 스케줄링 자동화
- 설치 후 PATH 설정 및 재부팅 시 세션 유지 주의사항
지난 몇 달 동안, 저의 사이드 프로젝트 소셜 계정 중 하나가 매일 아침과 밤마다 X와 note에 포스팅을 해왔습니다.
저는 게시 버튼을 한 번도 누른 적이 없습니다.
이 시스템은 제 노트북이 아니라, 방 구석에 있는 손바닥 크기의 컴퓨터에서 실행됩니다. 제가 잠을 자는 동안에도, 외출 중에도 계속 작동합니다. 이 포스트는 이것이 어떻게 연결되어 있는지, 실제로 어떤 점이 유익했는지, 그리고 저를 당황하게 했던 부분들(그 이유 때문에 오셨다면 '주의사항(gotchas)' 섹션으로 건너뛰세요)에 대해 다룹니다.
분명히 말씀드리자면: 저는 이것을 별도의 사이드 계정용으로 운영합니다. 이 글을 올리고 있는 계정은 여전히 수동으로 운영됩니다. 저는 자동화해도 안전한 부분은 자동화하고, 나머지 부분은 직접 관리합니다.
제가 실제로 겪었던 문제
저는 예약된 AI 초안 작성 포스트를 원했습니다. 가장 뻔한 방법은 제 노트북에서 스크립트와 cron을 사용하는 것입니다. 하지만 그렇게 하면 노트북을 계속 켜두어야 하고, 제가 신경 쓰고 싶지 않은 백그라운드 작업에 노트북이 묶여 있게 됩니다.
그래서 저는 이 모든 것을 데일리 드라이버(daily driver)에서 분리하여, 전용 상시 가동(always-on) 머신으로 옮겼습니다.
설정을 한 문장으로 요약하자면
작은 상시 가동 박스(Raspberry Pi — 하지만 Ubuntu가 실행되는 여분의 머신이라면 무엇이든 동일하게 작동합니다)가 Claude Code를 실행합니다. cron 작업이 정해진 일정에 따라 이를 깨우면, Claude가 포스트 초안을 작성하고 X / note에 게시합니다. 저는 휴대폰으로 확인하거나 방향을 수정할 수 있습니다. 그게 전부입니다: 상시 가동 머신 + AI + 일정.
흥미로운 점은 cron 라인이 아닙니다. AI 에이전트가 박스 안에 살고 있기 때문에, "매일 아침 포스팅"과 "이봐, 오늘 포스트를 좀 더 부드럽게 다시 써줘"는 동일한 종류의 명령어가 됩니다. 하나는 cron으로부터, 하나는 제 휴대폰을 통해 저로부터 오는 것이죠.
실제로 효과를 본 점
1. 제 메인 노트북이 완전히 자유로워졌습니다. 이것이 핵심이었고, 결과는 성공적이었습니다. 노트북을 닫아두거나, 들고 나가거나, 실제 업무에 강력하게 밀어붙일 수 있습니다. 자동화 시스템은 상관하지 않습니다. 절대 꺼지지 않는 다른 박스에서 돌아가고 있으니까요.
2. 휴대폰으로 제어할 수 있습니다. Claude Code에는 원격 제어(Remote Control) 기능이 있습니다. Pi에서의 세션이 Claude 모바일 앱(또는 브라우저의 claude.ai/code)에 나타납니다. 지하철에서 "오늘 밤 포스트의 관점을 바꿔줘"라고 타이핑하면 끝납니다. 노트북도, SSH도 필요 없습니다.
3. 제가 자는 동안에도, 외출 중일 때도 작동합니다. 아침 7시에 일어나서 '게시' 버튼을 누를 필요가 없습니다. 여행이 공백을 만들지 않습니다.
4. 실패는 격리됩니다. 자동화는 가끔 고장 납니다. 제 주 환경과 물리적으로 분리되어 있기 때문에, 잘못된 실행 결과가 실제 작업에 영향을 미치는 일이 없습니다. 일회용 '실험 상자'를 갖는 것은 예상했던 것보다 더 큰 가치가 있습니다.
주의할 점 (처음 읽었으면 좋았을 부분)
설치 후 PATH 설정. 기본 설치 프로그램은 claude를 ~/.local/bin에 배치하는데, 이 경로는 기본적으로 PATH에 포함되어 있지 않습니다. 설치 직후 claude를 실행하면 'command not found'가 표시됩니다. 해결 방법:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
세션은 재부팅을 견디지 못합니다. 실행 중인 세션은 터미널을 닫거나 기기가 절전 모드에 들어가도 계속 유지되지만, 전체 재부팅은 이를 중단시킵니다. 다시 열고 재연결해야 합니다. 이를 염두에 두세요 (로그인 셸 라인 또는 제로터치 복구를 원한다면 systemd 서비스).
linger 활성화, 아니면 로그아웃 시 종료됩니다. SSH 연결이 끊긴 후에도 세션을 계속 실행하려면:
loginctl enable-linger $USER
원격 제어는 구독 및 기기 온라인 상태가 필요합니다. API 키가 아닌 Claude 계정 로그인을 사용하며, 상자가 약 10분 동안 오프라인이면 세션이 끊깁니다. 항상 전원이 연결된 가정용 박스에는 괜찮지만, 알아두면 좋을 점입니다.
원격 제어는 한 번에, 전역으로 켜세요. 매번 서버 명령을 실행하는 대신, /config에서 '모든 세션에 대한 원격 제어 활성화'를 켜세요. 그러면 시작하는 모든 세션이 휴대폰에서 접근 가능합니다.
다시 할까요?
네. 정신적인 변화가 진정한 승리입니다: 항상 전원이 연결되어 있고, AI가 거주하며, 제가 휴대폰으로 건드릴 수 있는 작은 상자 말입니다. 소셜 자동화는 그저 제가 처음 겨냥한 것일 뿐입니다.
만약 전체 과정(OS 플래싱 → Claude Code → 휴대폰 제어 → 배포)을 시작부터 끝까지 구축하는 방법을 원한다면, 가이드로 작성했습니다. 여기에는 Claude가 대화 형식으로 상자를 설정할 수 있도록 도와주는 복사-붙여넣기 준비 프롬프트가 포함되어 있습니다.
→ Gumroad 또는 **Payhip**에서 전체 가이드인 _Build from Your Phone_를 확인하세요.
설정 관련 질문은 댓글로 남겨주시면 기꺼이 답변해 드리겠습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기