Remote Desktop

Overview

ET Ducky’s browser-based remote desktop lets you view and control any online agent’s screen directly from the dashboard. No VPN, no VNC client, no RDP configuration, no firewall rules — just click “Remote” on any online agent and start working.

Remote desktop sessions run alongside existing features. You can have a live query session and a remote desktop session with the same agent simultaneously.

Starting a Session

  1. Navigate to the Agents page
  2. Click the Remote button on any online agent row (the button is disabled for offline agents)
  3. A fullscreen modal opens with a connecting overlay
  4. The server creates a session record and signals the agent via SSE
  5. The agent initializes screen capture and connects its WebSocket
  6. Once both sides are connected, frames begin streaming and the overlay disappears

Typical connect time: 1–3 seconds on LAN, 2–5 seconds on WAN.

Toolbar Controls

ControlDescription
Status IndicatorColor-coded dot: amber (connecting), green (connected), red (disconnected)
FPS / BandwidthLive readout of frames per second and data throughput
QualityDropdown: Low (30), Medium (50), High (70), Ultra (90). Adjusts encoding quality in real time
Scale ModeFit (maintain aspect ratio), Stretch (fill viewport), Native (1:1 pixels with scroll)
Display PickerAppears when the agent has multiple monitors. Each display gets a button; click to focus one, or shift-click to add additional displays to the active set and span the canvas across them (see Multi-Display Sessions below)
Keyboard GrabToggle to capture browser shortcuts (Ctrl+Tab, Alt+F4, etc.) and send them to the remote system
FullscreenEnter true browser fullscreen for an immersive experience
DisconnectEnd the session, release all resources, and close the modal

Input & Clipboard

Mouse

  • Mouse movement, left/middle/right click, and scroll wheel are all forwarded to the remote agent
  • Coordinates are normalized (0.0–1.0) and translated to absolute screen coordinates on the agent via SendInput
  • Mouse move events are throttled to 60/second to prevent overwhelming the connection

Keyboard

  • All key presses are captured using browser KeyboardEvent.code values and mapped to Windows virtual key codes
  • Modifier keys (Ctrl, Alt, Shift, Win) are tracked independently to prevent stuck-key issues
  • Enable Keyboard Grab in the toolbar to intercept browser shortcuts and forward them to the remote system
  • All held modifier keys are automatically released when a session ends

Clipboard

  • Text clipboard syncs bidirectionally between browser and agent
  • Agent monitors clipboard changes via AddClipboardFormatListener and pushes updates instantly
  • Browser clipboard access requires page focus (Clipboard API security requirement)

Performance & Limits

MetricTypical Value
Input latency<50 ms LAN, <150 ms WAN
Frame rate (idle)1–5 FPS
Frame rate (active)15–30 FPS
Bandwidth (low quality)0.5–2 Mbps
Bandwidth (high quality, 1080p)2–5 Mbps
Capture methodDXGI Desktop Duplication (GPU-accelerated); GDI+ fallback for RDP sessions
EncodingWebP (default) or JPEG; dirty-region encoding to minimize data
Max concurrent sessions2 per organization
Idle timeout15 minutes

Adaptive quality: The encoder automatically reduces quality when bandwidth is constrained and increases it when headroom is available.

Troubleshooting

  • Black screen after connecting: The agent may be in an RDP session where DXGI is unavailable. The agent automatically falls back to GDI+ capture, which may take an extra second.
  • High latency or stuttering: Reduce quality to Low or Medium in the toolbar. Check network connectivity between the agent and the ET Ducky server.
  • Keyboard shortcuts not working remotely: Enable Keyboard Grab in the toolbar to intercept browser shortcuts.
  • Clipboard not syncing: Ensure the browser tab is focused. The Clipboard API requires page focus for security reasons.
  • “Agent is not online” error: The agent must be online (green status) to start a remote desktop session. Check agent connectivity.
  • “Maximum sessions” error: Your organization has 2 concurrent remote desktop sessions active. End one before starting another.

Multi-Display Sessions

On agents with multiple monitors, you can capture and control more than one display in a single session. Useful when you’re troubleshooting an app whose window crosses the bezel, or when you want to see a dashboard on one monitor while you click around on another.

Selecting displays

  • The toolbar shows one button per monitor (e.g. Display 1, Display 2, Display 3).
  • Click a button to focus that display — the canvas resizes to that monitor’s resolution and only that monitor is captured.
  • Shift-click a button to add it to the active set. The canvas grows to span the union of selected monitors and the frame stream switches to a composite encoder that stitches them together server-side.
  • Shift-click an already-active display to remove it from the set (one display always stays selected).

Input mapping

When multiple displays are active, mouse and keyboard input are routed using MOUSEEVENTF_VIRTUALDESK coordinates — coordinates map to the agent’s virtual-desktop space rather than a single screen. Click anywhere on the composite canvas and the cursor lands on the corresponding monitor on the remote host.

Performance impact

Each additional display roughly doubles the bytes-per-frame budget. On a low-bandwidth link, drop the Quality dropdown to Medium or Low before adding more monitors. The composite stream uses the same encoder pipeline (DXGI Desktop Duplication on Windows, x11vnc on Linux), so the per-monitor frame rate stays consistent.

Multi-display support is available in agent versions 2.0.1.2 and later, both Windows and Linux. Older agents will only expose a single display button until upgraded.