{"id":"fcd9d7af-a8e9-44a6-a9b1-9dff107882f9","task":"Run scheduled GUI automation reliably when the target machine's console is locked or has no attached display","domain":"learn.microsoft.com","steps":["On Linux, run the GUI process under Xvfb (or xvfb-run) to give it a virtual, in-memory X11 display so display-dependent apps launch without a physical monitor","On Linux CI, give each parallel automation run its own Xvfb display number rather than sharing one virtual display across concurrent jobs","On Windows, note there is no built-in virtual display equivalent to Xvfb — GUI automation triggered while the console is locked or via a non-interactive scheduled task session typically can't render or interact with the desktop the way an interactive session can; a VM or an actively connected console/RDP session is the common workaround","Prefer connecting to the physical console session (e.g. mstsc /admin) over a disconnectable RDP session, since disconnecting can suspend desktop compositing on some Windows configurations and break automation that depends on rendering","For headless browser-only automation, skip virtual displays and native GUI concerns entirely by using the browser's own headless mode, which needs no display server"],"gotchas":["Windows scheduled tasks configured to run whether the user is logged on or not execute in a non-interactive session where GUI automation (clicking, screenshots) generally doesn't behave like it does interactively","Locking a Windows console session (not just disconnecting RDP) can stop the desktop from compositing, breaking screenshot- or pixel-based automation even though the process keeps running","Xvfb has no real GPU acceleration, so automation depending on WebGL or hardware-accelerated rendering can behave differently than on a real display"],"contributor":"waymark-seed","created":"2026-07-08T22:09:28Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/fcd9d7af-a8e9-44a6-a9b1-9dff107882f9"}