Skip to main content

Elsewindow

elsewindow starts one GUI application on a remote Linux host and shows its windows through Xpra. One owned OpenSSH ControlMaster carries every Xpra control channel; the command opens no forwarding or Xpra TCP listener and cleans only the server, application process group, sockets, and runtime state created by that invocation.

The application renders through the remote Wayland compositor and remote GPU. Only Xpra picture, input, and control traffic crosses SSH.

Install And Run

The Python distribution requires Linux, CPython 3.13 or 3.14, OpenSSH, false, a local graphical session, and compatible Xpra packages on both systems. Install with pip or pipx after the first release:

python3.14 -m pip install "elsewindow==0.1.0"
# or: pipx install "elsewindow==0.1.0"
elsewindow --ssh-alias agents-a -- xterm

Check packaged versions, profile digests, Linux support, and local commands without opening a connection:

elsewindow --diagnose

The published distribution resolves the exact reviewed ssh-wrapper==0.1.0 dependency. For a source checkout, prepare the hash-locked runtime and use the repository launcher from any working directory:

make runtime-venv
./bin/elsewindow --help

Use a direct authority when an OpenSSH alias is not appropriate:

elsewindow \
  --host host.example \
  --user desktop-user \
  --port 2222 \
  -- /opt/application/bin/application

The default encoding and network profiles are rgb and gigabit_lan. Production arguments come exclusively from the reviewed YAML mirrors shipped inside the Python package. See the Xpra guide for profile, hardware, application, and lifecycle details.

Installing The Maintained Xpra Build

tools/install_xpra_release.py is a standalone standard-library installer for Debian 13 and Ubuntu 26.04. It resolves the newest canonical package release from kogeler/xpra:develop, verifies archive and DEB contents before mutation, prints the exact installed Xpra inventory, and requires interactive confirmation before purging that inventory. It uses APT for the validated local packages and dependencies.

Elsewindow deliberately uses this maintained fork rather than treating a generic upstream Xpra build as interchangeable. Project development uncovered dozens of blocking Xpra defects: some fixes were accepted as direct upstream contributions, some were implemented by the upstream maintainer after issue reports, and some were not accepted after technical disagreements. The last category requires continued maintenance of additional fork patches. The Xpra guide explains the resulting user compatibility boundary.

Review the installer and the security contract. The streamed route below is pending until the first reviewed main push; it must not be treated as available before then:

( set -o pipefail; curl --proto '=https' --tlsv1.2 -fsSL 'https://raw.githubusercontent.com/kogeler/elsewindow/main/tools/install_xpra_release.py' | /usr/bin/python3 - )

Do not prefix the pipeline or Python process with sudo. When privilege is needed, the reviewed script reads purge confirmation from the controlling terminal and invokes /usr/bin/sudo itself only for its root-owned staging and APT transaction.

Standalone Linux Executables

After the first release, GitHub Releases provide elsewindow-linux-amd64 and elsewindow-linux-arm64. These native one-file ELF executables bundle Elsewindow, CPython, ssh-wrapper, version metadata, and the reviewed YAML profiles. They do not bundle OpenSSH, Xpra, Podman, GPU drivers, VA-API, or distribution packages. Verify the release's SHA256SUMS.txt, make the selected file executable, and run ./elsewindow-linux-amd64 --diagnose (or the arm64 equivalent) before starting a session.

Documentation

The Pages workflow renders these same maintained Markdown files and validates every generated route, local link, anchor, canonical URL, sitemap, crawler file, and advertised llms.txt route without network access.

Automatic Live Validation

make live-test resolves the newest fork release, builds checksum-bound Ubuntu target and Debian client images, and runs detach and abrupt-master-loss cases on a private rootless Podman network. The payload excludes elsewindow/ source and clean-installs the already verified wheel. The harness generates a fresh Ed25519 key, performs exactly one authentication per case, verifies a visible window and picture updates through the production profile assembler, preserves an unrelated session, and removes only its labelled containers and network. All wheel, test, and key material enters through validated tar streams; the test uses no host bind, data volume, or copy channel.

Released under the MIT License.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elsewindow-0.1.0.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elsewindow-0.1.0-py3-none-any.whl (23.7 kB view details)

Uploaded Python 3

File details

Details for the file elsewindow-0.1.0.tar.gz.

File metadata

  • Download URL: elsewindow-0.1.0.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for elsewindow-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4e6301ca493df7dd0a60bf5bbb5b4c615370cf2013946c22ba9bbc48a03622e0
MD5 aff61fbb2496c6984da7403a051f26cc
BLAKE2b-256 741d9afefa22b7a07a642f0411cb145987f5df9c1910b8442e4837608b2fa66f

See more details on using hashes here.

Provenance

The following attestation bundles were made for elsewindow-0.1.0.tar.gz:

Publisher: release.yml on kogeler/elsewindow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elsewindow-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: elsewindow-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 23.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for elsewindow-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 94d3cb48cbc5fe6b8a0bbf549f9b17148434c596a2996bec381ce07048a4a4d2
MD5 b298a548420aeebc03601fb03cf77a57
BLAKE2b-256 d110e30b40feeac90bba2602b0e089a3a107fb1856d3f990f8071d8c776045c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for elsewindow-0.1.0-py3-none-any.whl:

Publisher: release.yml on kogeler/elsewindow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page