원격 디스플레이 (noVNC)
컨테이너는 가상 디스플레이 스택(Xvfb + x11vnc + noVNC + fluxbox)을 실행하므로, AI 에이전트가 브라우저를 제어하는 것을 관찰하고 필요할 때 개입할 수 있습니다 — 예를 들어, 로그인이나 MFA 프롬프트를 처리할 때 유용합니다.
연결하기
섹션 제목: “연결하기”- 브라우저에서
http://localhost:6080/vnc.html을 열고 Connect를 클릭합니다 - 경량 fluxbox 데스크톱이 표시됩니다 — 이것이 컨테이너의 가상 디스플레이입니다
헤드 모드에서 @playwright/mcp를 사용하는 AI 에이전트는 이 디스플레이에 Chromium을 렌더링합니다. noVNC 창에서 직접 클릭하거나 타이핑하여 언제든지 개입할 수 있으며 — 일시정지/재개가 필요하지 않습니다.
수동 브라우저 실행
섹션 제목: “수동 브라우저 실행”컨테이너 내부에서 브라우저를 수동으로 열려면:
chromium --no-sandbox &Playwright 테스트를 헤드 모드로 실행하려면:
npx playwright test --headed환경 변수
섹션 제목: “환경 변수”| 변수 | 기본값 | 설명 |
|---|---|---|
ENABLE_VNC | true | VNC 스택을 비활성화하려면 false로 설정 |
VNC_RESOLUTION | 1280x1024x24 | 가상 디스플레이 해상도 (너비x높이x색상깊이) |
DISPLAY | :99 | X11 디스플레이 번호 |
NOVNC_HOST_PORT | 6080 | noVNC의 호스트 측 포트 (다른 컨테이너와의 충돌을 피하려면 변경) |
이러한 변수는 .env 파일 또는 .devcontainer/devcontainer.json의 containerEnv 항목에서 설정합니다.
VNC 스택 비활성화
섹션 제목: “VNC 스택 비활성화”헤드리스 전용 작업의 경우, .env에서 ENABLE_VNC=false를 설정하고 컨테이너를 재시작합니다:
docker compose downdocker compose up -dpodman-compose downpodman-compose up -d문제 해결
섹션 제목: “문제 해결”검은 화면, 연결 거부 오류, 포트 충돌에 대한 해결 방법은 문제 해결 — 원격 디스플레이를 참조하세요.