처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.04.29 60

macOS 자동화의 새 지평: 커서를 뺏지 않고 앱을 백그라운드에서 조작하기

Hacker News 원문 보기
macOS 자동화의 새 지평: 커서를 뺏지 않고 앱을 백그라운드에서 조작하기

"자동화 돌릴 때 컴퓨터 못 쓰는 문제" 드디어 풀리나

macOS에서 GUI 자동화를 해본 분들은 이 답답함을 알 거예요. AppleScript든 Selenium이든 자동화 스크립트가 돌아가는 동안에는 마우스 커서가 자기 마음대로 움직이고, 키보드 입력도 자동화 도구가 가져가버려서 사실상 다른 일을 못 해요. 30분짜리 자동화 작업 하나 돌리려면 그 시간 동안 컴퓨터를 통째로 양보해야 하는 거죠. trycua/cua라는 새로 공개된 오픈소스 프로젝트가 이 문제를 정면으로 풀었어요. 백그라운드에서 macOS 앱을 조작하면서도 사용자의 마우스와 키보드는 그대로 쓸 수 있게 만든 거예요.

어떻게 "커서를 안 뺏는" 자동화가 가능할까

핵심은 macOS의 접근성 API(Accessibility API)와 가상 입력 이벤트를 영리하게 조합한 거예요. 보통 자동화 도구는 시스템 전역의 마우스 이벤트를 합성(synthesize)해서 보내요. 이 방식은 간단하지만 "진짜 마우스"와 구분이 안 되니까 화면의 커서가 따라 움직이고, 사용자가 끼어들면 충돌하죠.

cua는 다른 접근을 써요. 특정 앱의 윈도우에 직접 이벤트를 주입(window-targeted event injection)하는 방식이에요. 이게 뭐냐면, 시스템 전체에 "클릭이 일어났다"고 알리는 게 아니라, "이 앱의 이 윈도우 안에서 클릭이 일어났다"고 그 앱에게만 속삭이는 거예요. 그래서 시스템 커서는 사용자 손이 움직이는 대로 그대로 있고, 자동화는 백그라운드 앱에서 조용히 진행돼요.

구체적으로는 CGEventPostToPid나 그 비슷한 메커니즘으로 특정 프로세스에 이벤트를 보내고, 접근성 API의 AXUIElement로 UI 요소를 찾아내요. 텍스트 필드 위치를 좌표로 클릭하는 게 아니라 "이 윈도우의 이 버튼"이라는 의미적 참조로 동작시키니까 윈도우가 가려져 있어도, 심지어 다른 데스크톱(스페이스)에 있어도 조작이 돼요.

왜 지금 이런 도구가 나왔을까

배경에는 AI 에이전트 붐이 있어요. 요즘 LLM 기반 에이전트가 "내 컴퓨터를 대신 조작해줘" 시나리오를 점점 더 많이 다루거든요. Anthropic의 Computer Use, OpenAI의 Operator 같은 기능이 대표적이죠. 그런데 이런 에이전트가 내 맥북에서 돌면서 30분 동안 자료를 정리한다고 생각해보세요. 그 30분 동안 내가 컴퓨터를 못 쓰면 의미가 없잖아요.

비슷한 결을 가진 프로젝트로는 Anthropic의 Computer Use 데모가 있는데, 이건 가상머신 안에서 돌리는 걸 권장해요. 안전하지만 무겁고, 호스트 OS의 진짜 앱을 못 다루죠. PyAutoGUIRobot Framework는 크로스 플랫폼이지만 시스템 전역 이벤트를 쓰니까 커서 점유 문제가 그대로 있어요. Playwright는 브라우저 자동화엔 최강이지만 데스크톱 앱은 못 다루고요. cua는 "호스트 OS의 진짜 앱을 만지면서 사용자를 방해하지 않는" 빈 자리를 정확히 노린 거예요.

실제로 어떻게 쓸 수 있을까

예를 들어 매일 아침 회계팀에서 엑셀 파일 10개를 합치는 작업이 있다고 쳐요. 기존엔 그 시간 동안 자동화가 돌면 다른 일을 못 했는데, cua를 쓰면 백그라운드에서 엑셀이 조용히 작업하는 동안 사용자는 슬랙 답장하고 코드 리뷰하고 다 할 수 있어요. 또 AI 에이전트가 사용자 행동을 학습하기 위해 "녹화"하는 시나리오에서도 유용해요. 사용자의 진짜 상호작용을 방해하지 않으니까 자연스러운 행동 데이터를 모을 수 있죠.

물론 한계도 있어요. 모든 macOS 앱이 접근성 API를 잘 지원하는 건 아니거든요. 특히 자체 렌더링을 하는 게임이나 일부 일렉트론 앱은 UI 트리가 제대로 노출되지 않아서 의미적 조작이 어려울 수 있어요. 그리고 macOS의 접근성 권한을 사용자가 명시적으로 부여해야 하니까 보안적으로는 안전하지만 초기 설정이 약간 번거로워요.

한국 개발자에게 주는 시사점

QA 자동화나 RPA(로보틱 프로세스 자동화)를 다루는 팀에게 직접적으로 도움이 될 도구예요. 특히 macOS를 메인으로 쓰는 디자인/콘텐츠 회사에서는 이런 백그라운드 자동화가 워크플로우를 크게 바꿀 수 있어요. AI 에이전트 제품을 만드는 분들에게도 의미가 커요. "에이전트가 내 컴퓨터에서 돌아도 내가 일을 계속할 수 있다"는 UX는 사용자 수용성을 결정하는 핵심 포인트거든요. 더 깊게는 macOS 시스템 프로그래밍을 공부하는 좋은 교재이기도 해요. CGEvent, AXUIElement, NSWorkspace 같은 macOS 내부 API를 어떻게 조합하는지 실전 코드로 볼 수 있으니까요.

마무리

자동화 도구의 다음 진화는 "더 정확하게"가 아니라 "더 조용하게"인지도 모르겠어요. 여러분의 작업 흐름에서 만약 자동화가 백그라운드에서 조용히 돌 수 있다면, 어떤 일을 맡기고 싶으세요?


🔗 출처: Hacker News

이 뉴스가 유용했나요?

이 기술을 직접 배워보세요

AI 도구, 직접 활용해보세요

AI 시대, 코딩으로 수익을 만드는 방법을 배울 수 있습니다.

AI 활용 강의 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.