mirror of
https://github.com/harivansh-afk/deskctl.git
synced 2026-04-18 08:02:52 +00:00
48 lines
963 B
Text
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`).
|