맥스크린 캡쳐시 저장이 안되는 경우가 발생했다. 될 때는 되고 안될때는 안되던가 수초간의 딜레이가 발생 후 저장됐다
스크린 캡쳐 관련 프로세스는 다음 2개가 있다.
screencapture: cmd+hift+3/4 로 실제로 캡처를 수행하는 프로세스
screencaptureui: cmd+shift+5 로 화면 캡처 메뉴 UI 를 보여주는 프로세스
위 2개 프로세스를 모니터링(btop 등에서 screen 이름으로 필터링) 하고
cmd+shift+4 누르면 screencapture 가 실행되고 종료되지만 캡쳐가 되지 않거나 느리게 캡쳐된다.
다음과 같은 명령으로 영역 캡쳐 테스트시 캡쳐가 안되는 경우 강제 종료가 되고 있다는것을 알았다.
screencapture -R 0,0,100,100 -t jpg z.jpg
zsh: terminated screencapture -R 0,0,100,100 -t jpg z.jpg
cmd+shift+5 누르면 screencaptureui 가 생겼다 사라진다.(메뉴가 잠깐 보였다 사라진다)
혹시 falcon 보안 프로그램이 캡쳐행위를 보안 위협이라고 판단해서 막는지 screencaptureui 과 로그 확인해 봐도 내용이 복잡하다.
log show --predicate 'subsystem == "com.crowdstrike.falcon"' --last 10m
log show --predicate 'process == "screencaptureui"' --style compact
claude-code 으로 원인 파악을 해봤다.
-----
최종 분석 결과
전체 시스템 로그에서 screencaptureui[19932]가 죽는 순간을 확인했습니다:
10:05:46.908 - gamepolicyd: running-NotVisible (마지막 상태 업데이트)
↓ 623ms - 로그에 아무 이벤트 없음 (보이지 않는 곳에서 kill)
10:05:47.531 - WindowServer: "Process death... outside of RPC" (외부에서 프로세스 사망)
10:05:47.538 - launchd: "removing child: pid/19932"
**WindowServer는 프로세스를 죽인 것이 아니라 "사망을 보고"**했을 뿐입니다. 로그에 남지 않는 커널 레벨에서 프로세스가
종료되었습니다.
---
원인: CrowdStrike Falcon Sensor
시스템에 설치된 CrowdStrike Falcon (Endpoint Security Extension)이 screencaptureui를 종료시키고 있을 가능성이 매우 높습니다.
근거:
1. Endpoint Security 프레임워크는 커널 레벨에서 동작하여 일반 로그에 흔적을 남기지 않고 프로세스를 종료할 수 있음
2. screencaptureui가 매번 500~900ms 후 일관되게 죽음 - 정책 평가 후 kill하는 패턴
3. 설정 리셋, TCC 초기화, 로그아웃 등 모든 OS 레벨 조치가 효과 없음
4. CrowdStrike는 기업 환경에서 화면 캡쳐를 DLP(데이터 유출 방지) 정책으로 차단하는 기능이 있음
해결 방법
1. IT/보안 팀에 문의 - CrowdStrike Falcon의 DLP 정책에서 화면 캡쳐(screencaptureui)가 차단되어 있는지 확인 요청
2. CrowdStrike 관리 콘솔에서 해당 기기의 screen capture 관련 정책 예외 추가 요청
3. 임시 확인: IT 팀에서 CrowdStrike를 잠시 비활성화해줄 수 있다면, 그 상태에서 Cmd+Shift+5가 정상 작동하는지 테스트
-----
comments:
댓글 쓰기