kodachi-session-helper
Global emergency keyboard shortcut daemon for Kodachi OS
Version: 9.0.1 | Size: 1.9MB | Author: Warith Al Maawali
License: Proprietary | Website: https://digi77.com
File Information
| Property | Value |
|---|---|
| Binary Name | kodachi-session-helper |
| Version | 9.0.1 |
| Build Date | 2026-03-23T08:26:04.359581688Z |
| Rust Version | 1.82.0 |
| File Size | 1.9MB |
| JSON Data | View Raw JSON |
SHA256 Checksum
Features
| Feature | Description |
|---|---|
| Feature | X11 key grab registration with collision detection |
| Feature | Raw /dev/input hardware corroboration (anti-XTEST) |
| Feature | Hold-to-trigger with auto-repeat rejection (1500ms default) |
| Feature | Local session token authentication (no network required) |
| Feature | Delayed lockdown with cancel capability |
| Feature | Unix socket for dashboard status queries |
| Feature | Atomic config reload via SIGHUP |
| Feature | LUKS device wipe + dashboard nuke combined actions |
| Feature | X11 disconnect detection with auto-reconnect |
| Feature | Memory protection via mlock and PR_SET_DUMPABLE |
Security Features
| Feature | Description |
|---|---|
| Authentication | Local 256-bit session token (no network dependency) |
| Encryption | SHA-256 token digest; memory locked and zeroized on exit |
| Inputvalidation | All configuration validated; key grabs verified against collisions |
| Ratelimiting | Hold-to-trigger with cooldown prevents accidental re-trigger |
System Requirements
| Requirement | Value |
|---|---|
| OS | Linux (Kodachi OS / Debian-based with X11) |
| Privileges | User session (non-root); 'input' group for evdev |
| Dependencies | X11 display server, health-control binary, /dev/input access (input group) |
Global Options
| Flag | Description |
|---|---|
-h, --help |
Print help information |
-v, --version |
Print version information |
-n, --info |
Display detailed information |
-e, --examples |
Show usage examples |
--json |
Output in JSON format |
--json-pretty |
Pretty-print JSON output |
--json-human |
Enhanced JSON output (like jq) |
--verbose |
Enable verbose output |
--quiet |
Suppress non-essential output |
Commands
Daemon Control
daemon
Start the emergency shortcut daemon
Usage:
Examples:
status
Query the running daemon's status
Usage:
Examples:
reload
Send SIGHUP to reload configuration
Usage:
Examples:
Operational Scenarios
Scenario-oriented workflows generated from the binary's built-in -e --json examples.
Scenario 1: Daemon Control
Starting, stopping, and managing the daemon
Step 1: Start the emergency shortcut daemon
Expected Output: Daemon starts and enters event loopNote
Run as your user (not root). Requires X11 and input group membership.
Step 2: Check if the daemon is running and view armed shortcuts
Expected Output: Daemon status with shortcut listStep 3: Get daemon status in JSON format
Expected Output: JSON with running state, shortcuts, and capabilitiesStep 4: Reload configuration without restarting
Expected Output: Sends SIGHUP to running daemonNote
The daemon re-reads its config and re-registers key grabs.
Scenario 2: Program Information
Getting information about the tool
Step 1: Show version
Expected Output: Version stringStep 2: Version in JSON format
Expected Output: JSON version envelopeStep 3: Show detailed program information
Expected Output: Features, requirements, and capabilitiesStep 4: Program info in JSON format
Expected Output: JSON program info envelopeStep 5: Show usage examples
Expected Output: This examples listingStep 6: Examples in JSON format
Expected Output: JSON examples envelopeStep 7: Show help information
Expected Output: Usage and command listingStep 8: Help in JSON format
Expected Output: JSON help envelopeEnvironment Variables
| Variable | Description | Default | Values |
|---|---|---|---|
DISPLAY |
X11 display to connect to | :0 | :0, :1, etc. |
XDG_RUNTIME_DIR |
Runtime directory for socket and state files | /run/user/ |
Directory path |
Exit Codes
| Code | Description |
|---|---|
| 0 | Success |
| 1 | General error |
| 2 | Invalid arguments |
| 3 | Permission denied (running as root) |
| 4 | X11 not available |
| 5 | Wayland session (unsupported) |