Installation
Install the public deskctl command first, then validate the desktop runtime
with deskctl doctor before trying to automate anything.
Recommended path
npm install -g deskctl
deskctl doctor
deskctl is the default install path. It installs the command by
downloading the matching Forgejo Release asset for the supported runtime target.
This path does not require a Rust toolchain. The installed command is always
deskctl, even though the release asset itself is target-specific.
Skill install
The repo skill lives under skills/deskctl, so you can install it
directly uring skills.sh
npx skills add harivansh-afk/deskctl
Other install paths
Nix
nix run github:harivansh-afk/deskctl -- --help
nix profile install github:harivansh-afk/deskctl
Rust
git clone https://git.harivan.sh/harivansh-afk/deskctl
cd deskctl
cargo build
Source builds on Linux require:
- Rust 1.75+
pkg-config- X11 development libraries such as
libx11-devandlibxtst-dev
Runtime requirements
- Linux with an active X11 session
DISPLAYset to a usable X11 display, such asDISPLAY=:1XDG_SESSION_TYPE=x11or an equivalent X11 session environment- a window manager or desktop environment that exposes standard EWMH properties
such as
_NET_CLIENT_LIST_STACKINGand_NET_ACTIVE_WINDOW
The binary itself only depends on the standard Linux glibc runtime.
Verification
If setup fails for any reason start here:
deskctl doctor
doctor checks X11 connectivity, window enumeration, screenshot viability, and
daemon/socket health before normal command execution.