Standalone Linux desktop observer for solstone. Experiences your screen and audio along with you on a GNOME Wayland session, stores segments locally, and syncs to your solstone journal.
Note: Activity detection uses screen-lock and power-save signals to notice when you step away. Coverage varies by desktop: GNOME provides both signals; KDE (Wayland) provides screen lock only; any X11 session also provides DPMS power save; other Wayland desktops provide screen lock where the compositor exposes it. Where neither signal is available, solstone-linux still experiences your screen and audio, but activity-based segment boundaries won't trigger.
Fedora:
sudo dnf install python3-gobject python3-cairo gtk4 gstreamer1-plugins-base pipewire-gstreamer alsa-lib-devel pulseaudio-utils pipewire-pulseaudio xdg-desktop-portal pipx gcc python3-devel pkgconf-pkg-config cairo-devel cairo-gobject-devel
Debian / Ubuntu:
sudo apt install python3-gi python3-cairo gir1.2-gtk-4.0 gstreamer1.0-pipewire gstreamer1.0-tools libasound2-dev pulseaudio-utils pipewire-pulse xdg-desktop-portal pipx gcc python3-dev pkg-config libcairo2-dev
Arch:
sudo pacman -S python-gobject gtk4 gstreamer gst-plugin-pipewire gst-plugins-good libpulse alsa-lib xdg-desktop-portal python-pipx uv python-cairo
openSUSE:
sudo zypper install python3-gobject python3-gobject-Gdk typelib-1_0-Gtk-4_0 gtk4-tools gstreamer-plugins-base gstreamer-plugin-pipewire pipewire-pulseaudio pulseaudio-utils alsa-devel xdg-desktop-portal python3-pipx
solstone (the journal) must already be installed and running on the host this observer reports to. If it isn't, start with the journal install.
On the machine that will host the observer:
pipx install --system-site-packages solstone-linux
solstone-linux install-service
solstone-linux setupThe --system-site-packages flag is required: it lets pipx reuse your distro's system PyGObject/pycairo/GStreamer bindings (the python3-gi / python3-cairo packages from System Dependencies above) instead of rebuilding PyGObject from source — which needs the GObject-Introspection build toolchain and isn't packaged on every distro. See INSTALL.md if a plain pipx install failed with a girepository-2.0 build error.
setup registers the observer against your journal over the local http://localhost:5015 link, so there's no URL to type. If this machine reaches your solstone host directly instead, run solstone-linux setup --server-url <journal-url>. (Legacy fallback: mint a key on the journal host with journal observer create <name> and paste it during setup.)
git clone https://github.com/solpbc/solstone-linux.git
cd solstone-linux
make install-service
solstone-linux setupSee INSTALL.md for distro packages, tray notes, and troubleshooting details.
solstone-linux setup# Foreground
solstone-linux runsolstone-linux statusRegistered observers also include a diagnostics-only status beacon in the journal: identity, version, uptime, and sync liveness counts only, with no captured or experienced content.
AGPL-3.0-only — Copyright (c) 2026 sol pbc