deskctl/site/src/pages/installation.mdx
2026-03-25 16:04:04 -04:00

48 lines
963 B
Text

---
layout: ../layouts/DocLayout.astro
title: Installation
toc: true
---
# Installation
## Cargo
```sh
cargo install deskctl
```
## From source
```sh
git clone https://github.com/harivansh-afk/deskctl
cd deskctl
cargo build --release
```
## Docker (cross-compile for Linux)
Build a static Linux binary from any platform:
```sh
docker compose -f docker/docker-compose.yml run --rm build
```
This writes `dist/deskctl-linux-x86_64`.
## Deploy to a remote machine
Copy the binary over SSH when `scp` is not available:
```sh
ssh -p 443 user@host 'cat > ~/deskctl && chmod +x ~/deskctl' < dist/deskctl-linux-x86_64
```
## Requirements
- Linux with an active X11 session
- `DISPLAY` environment variable set (e.g. `DISPLAY=:1`)
- `XDG_SESSION_TYPE=x11`
- A window manager that exposes EWMH properties (`_NET_CLIENT_LIST_STACKING`, `_NET_ACTIVE_WINDOW`)
No extra native libraries are needed beyond the standard glibc runtime (`libc`, `libm`, `libgcc_s`).