cdp-browser-vnc-setup
GitHub用于检查和配置 CDP/VNC 浏览器环境。在 Linux 上自动安装依赖并启动托管桌面,在 macOS/Windows 上指导自建 VNC 服务,确保 Piclaw 面板正常显示浏览器内容。
Trigger Scenarios
Install
npx skills add rcarmo/piclaw --skill cdp-browser-vnc-setup -g -y
SKILL.md
Frontmatter
{
"name": "cdp-browser-vnc-setup",
"description": "Check and set up the optional managed Linux desktop used by piclaw:\/\/vnc\/cdp-browser, or explain bring-your-own CDP\/VNC setup on macOS and Windows.",
"distribution": "public"
}
CDP browser VNC setup
Use this skill when piclaw://vnc/cdp-browser reports missing dependencies or when an operator wants to prepare browser viewing before opening the pane.
Check first
Run the packaged check script from the installed Piclaw package or repository root:
bun runtime/skills/integrations/cdp-browser-vnc-setup/check.ts
The check is read-only. It reports:
- platform support;
Xvfb,x11vnc, andxauthavailability;- the Chromium-family browser command Piclaw can launch;
- whether the stable pane path can use the managed Linux service.
For configured targets, history, controls and disposable real-desktop testing, see VNC viewer setup. Targets do not bypass route authorization.
Linux managed setup
Piclaw starts the managed desktop only after an authenticated request opens piclaw://vnc/cdp-browser. It does not start Chromium, Xvfb, or VNC during Piclaw boot.
On Debian or Ubuntu, install the missing packages explicitly:
sudo apt update
sudo apt install xvfb x11vnc xauth chromium
Distribution package names vary. Chrome or Edge can replace Chromium when their executable is in PATH.
After installation:
-
run the check script again;
-
optionally run the isolated lifecycle smoke with a disposable workspace:
bun runtime/scripts/managed-cdp-browser-vnc-smoke.ts /tmp/piclaw-cdp-vnc-smoke -
open
piclaw://vnc/cdp-browserin a Piclaw pane; -
use
cdp_browsernormally—the tool prefers the same managed browser while it is active.
The managed service:
- binds CDP and VNC to
127.0.0.1; - disables X11 TCP listening;
- uses a private Xauthority cookie;
- runs x11vnc with
-shared -foreverso multiple Piclaw viewers can attach; - stores the Chromium profile under
/workspace/.piclaw/browser/profileby default; - stops only processes it launched when Piclaw shuts down.
macOS and Windows
The managed desktop is Linux-only. Bring your own browser and VNC service:
- launch Chrome, Edge, or Chromium with a loopback CDP port in the
9224–9233range; - expose the same visible desktop through a VNC server bound to loopback or an allowlisted private address;
- add that VNC endpoint to Piclaw’s configured VNC targets or enable direct targets deliberately;
- use the ordinary
piclaw://vnc/<target>pane path.
Do not expose unauthenticated CDP or VNC ports to public interfaces.
Troubleshooting
- Missing dependencies: install only the packages listed by the pane/check script.
- No free display or port: stop stale Xvfb/x11vnc/Chromium processes or inspect ports
5901–5910and9224–9233. - Browser starts but CDP does not respond: verify the browser accepts
--remote-debugging-address=127.0.0.1and the selected port. - VNC connects but shows no browser: check the browser process has the same
DISPLAYandXAUTHORITYas Xvfb/x11vnc. - Container sandbox: Piclaw uses Chromium’s normal sandbox on native Linux. In recognised Docker, Podman, Kubernetes, or LXC runtimes, it logs a warning and adds
--no-sandboxbecause nested user/network namespaces may be unavailable. Treat the container boundary as the browser isolation boundary, or configure a bring-your-own browser/VNC target if that is unsuitable.
Version History
-
2e2fd03
Current 2026-09-22 17:40
新增 scoped 连接历史记录与隐藏式查看器控制功能
- d818352 2026-09-09 11:39


