Any window from your Mac, on your iPhone and iPad
Mac의 창을 iPhone과 iPad에서 보고 조작하는 Sill
Sill은 Mac의 특정 창이나 데스크톱 전체를 iPhone·iPad로 전송하고, 터치·키보드·트랙패드·Apple Pencil 입력을 Mac으로 돌려보내는 오픈소스 앱입니다. HEVC 영상 전송과 기기 간 직접 연결을 사용하며, 같은 네트워크나 USB, 직접 무선 연결, 사용자가 구성한 VPN으로 접속합니다.
- 주제
에디터 노트
Sill의 차이는 화면 공유 자체보다 연결을 시작하는 쪽과 조작 단위에 있습니다. 댓글에서 제기된 Sidecar와의 비교를 보면 Sidecar는 Mac 화면을 iPad에 확장하는 기능이고, Sill은 iPhone이나 iPad에서 Mac의 창을 고르고 조작합니다. 같은 화면 전송이라도 쓰임이 다르다는 설명이 가장 정확합니다. Mac과 기기 사이에 서버를 두지 않고 직접 연결하며, 페어링 키와 TLS 1.3으로 연결을 보호하는 설계도 구체적으로 제시합니다. 다만 외부 접속은 사용자가 VPN이나 포트 포워딩을 준비해야 하고, 오디오는 전송하지 않습니다. 댓글에는 Sunshine과 Moonlight보다 설정이 편했다는 경험담이 있는 한편, 세로 화면 조작과 키보드 수정 키 문제도 보고됐습니다. 이 반응은 앱의 기본 방향에 대한 호평과 실제 조작에서 남은 불편을 함께 보여줍니다.
AI 요약
Sill은 Mac 화면을 iPhone이나 iPad에서 보고 조작하는 무료 앱입니다. Mac 앱에서 창 하나 또는 데스크톱 전체를 선택하면 iOS 앱으로 화면을 보내고, 터치와 키보드 입력을 Mac으로 전달합니다. iPad를 Mac의 보조 디스플레이로 쓰는 Sidecar와 달리, 모바일 기기에서 연결할 대상을 고르고 Mac을 조작하는 방식입니다.
화면 전송과 입력
Mac 앱은 ScreenCaptureKit으로 화면을 캡처하고 VideoToolbox로 HEVC 영상 인코딩을 합니다. 하드웨어 인코더를 우선 사용하고, 인코더가 바쁘면 소프트웨어 인코더로 전환합니다. 연결된 기기가 없을 때는 화면을 캡처하지 않습니다. 영상과 입력은 TLS 1.3 암호화 연결로 직접 주고받습니다. 인코더나 네트워크가 전송 속도를 따라가지 못하면 프레임을 쌓아두지 않고 버려 화면을 최신 상태로 유지합니다. 연결 상태가 나빠지면 앱이 이를 알리고 기기 설정에서 낮은 화질을 고를 수 있게 합니다.
입력 기능은 탭과 클릭, 관성 스크롤, 화면 트랙패드, 키보드, Apple Pencil 포인터를 지원합니다. 연결한 기기의 키보드와 트랙패드, 마우스도 사용할 수 있습니다. Mac 앱이 입력을 마우스와 키보드 이벤트로 바꾸므로 macOS의 Accessibility 권한이 필요합니다. 세 손가락 쓸기와 핀치 제스처는 Mac 트랙패드 동작처럼 Mission Control, App Exposé, Spaces, 앱 전환, 데스크톱 보기로 연결됩니다. Mac 앱 메뉴도 기기에서 열고 선택할 수 있습니다.
연결과 페어링
Mac과 모바일 기기는 같은 네트워크에서 Bonjour로 찾을 수 있습니다. USB 케이블로 연결하거나, 같은 네트워크가 없을 때는 기본 설정에서 꺼져 있는 Direct Wireless Connection을 켜 peer-to-peer Wi-Fi로 연결합니다. 외부에서는 Tailscale 같은 사용자의 VPN이나 라우터 포트 포워딩을 이용하는 Remote Access를 설정합니다. Sill은 계정이나 중계 서버를 두지 않습니다.
기기는 처음 한 번 페어링합니다. 모바일 기기에서 Mac을 선택한 뒤 Mac에 표시된 코드를 스캔하거나 12자리 숫자를 입력합니다. USB 연결에서는 자동으로 페어링합니다. 이후 양쪽 기기는 상대 기기의 키를 기억하고 연결을 해당 키에 고정합니다. Mac 설정에서 페어링한 기기를 확인하고 제거할 수 있습니다. 페어링을 요구하지 않도록 설정을 바꾸면 같은 네트워크의 다른 기기도 연결할 수 있지만 연결 자체는 암호화됩니다.
화면 크기와 클립보드
기기에서 Aa를 선택하면 스트리밍 중인 Mac 창 크기를 바꿔 글자 크기를 맞춥니다. 스트리밍이 끝나면 창은 원래 크기와 위치로 돌아갑니다. 가상 디스플레이 기능은 스트리밍 창을 Mac의 별도 디스플레이로 옮겨 다른 창에 가려져도 계속 갱신합니다. 이 기능은 비공개 macOS API를 사용하므로 Mac 앱은 Mac App Store가 아닌 웹사이트에서 배포합니다.
클립보드는 두 앱에서 공유 기능을 켰을 때 텍스트만 양방향으로 전송하며 한 번에 최대 256KB를 지원합니다. 기기의 클립보드를 앱이 임의로 읽지는 않습니다. 암호 관리자에서 숨김 처리한 복사 내용은 Mac에 남습니다. 오디오는 전송하지 않습니다. Mac은 Apple silicon과 macOS 14 이상이 필요하고, 기기는 iOS 17 또는 iPadOS 17 이상이어야 합니다. 화면 녹화와 Accessibility 권한도 필요합니다.
Hacker News 반응
- @gumby — Apple은 iPad를 Mac의 다른 화면으로 쓰는 기능을 이미 지원합니다. Sidecar라고 부르는 것 같습니다. Pencil과 마우스, 키보드도 쓸 수 있습니다. iPhone 지원은 새로워 보이는데 Pencil도 작동하나요?
- @jscheel — Sidecar는 개별 창과 터치를 지원하지 않는 것으로 압니다.
- @GeekyBear — 터치 지원은 올해 추가됐습니다.
- @fbcpck — Sidecar는 Mac에서 시작하고 제어해야 합니다. 제가 원한 기능은 손에 든 기기에서 시작해 Mac을 보고 조작하는 것이며, 이 앱이 그 기능을 합니다.
- @jasonjmcghee — VNC를 쓰지는 않는 것 같지만, 마찰이 적은 VNC 용도라고 생각합니다. 집 밖에서도 원격 접속할 수 있습니다. iPhone용 VNC 클라이언트는 있지만 대체로 데스크톱 전체를 보여줍니다.
- @alin23 — VNC보다 훨씬 빠르고 매끄럽습니다. 오늘 이미 두 번 도움을 받았습니다.
- @fbcpck — Sunshine과 Moonlight를 쓰느라 설정을 많이 만졌고 자주 고장 났습니다. 이 앱으로 그 구성을 대체할 수 있어 훨씬 편합니다.
- @explosion-s — 앱은 정말 좋습니다. 세로 화면에서 휴대폰에 창만 보이고 모든 조작부를 숨기는 방법을 찾지 못했고, 키보드 단축키도 작동하지 않는 것 같습니다. 수정 키가 적용되지 않습니다.
- @Surac — Windows 창을 iPad에서 보고 터치나 펜으로 조작하는 기능도 계획 중인가요?
- @jdalgetty — Linux 노트북에서도 창 하나만 이런 식으로 접속할 방법이 있나요?
- @00deadbeef — Mac 원격 데스크톱 앱이라는 점을 파악하기까지 설명을 많이 읽어야 했습니다. 무엇을 하는 앱인지 더 명확하게 쓰면 사용자가 늘 것 같습니다.
원문: Hacker News / 번역·요약: Trawling