Install runtime libraries, then run under a display (or Xvfb):
sudo apt-get install -y libx11-6 libxext6 libxfixes3 libxtst6 libcups2t64 xclip xvfb || \
sudo apt-get install -y libx11-6 libxext6 libxfixes3 libxtst6 libcups2 xclip xvfb
dotnet run --project examples/Event.Hook.ConsoleApp.Example -f net10.0
# or headless:
xvfb-run -a dotnet run --project examples/Event.Hook.ConsoleApp.Example -f net10.0Requires DISPLAY. Keyboard and mouse use the XRecord extension (libxtst6); clipboard, windows, and hotkeys use X11 APIs.
No Win32 message pump and no HWND. EventHook runs its own XNextEvent thread for X11. Missing DISPLAY / WAYLAND_DISPLAY → DisplayUnavailable. Native Wayland-only sessions return NotSupportedOnPlatform for clipboard, windows, and hotkeys.
On Ubuntu 24.04 the CUPS library package is libcups2t64 (provides libcups.so.2). Older releases use libcups2.
- Keyboard/mouse can use
/dev/input/event*(evdev). If open fails with permission denied:
sudo usermod -aG input "$USER"
# then log out and back in- Clipboard, application windows, and hotkeys return
NotSupportedOnPlatformwithout X11 in EventHook v3.
Uses CUPS (libcups). Missing library or scheduler → NativeFailure.