linux observer
1# solstone-linux
2
3Standalone Linux desktop observer for [solstone](https://solpbc.org). Captures screen and audio from a GNOME Wayland session, stores segments locally, and syncs to a solstone server.
4
5**Note:** Activity detection (idle timeout, screen lock, power save) currently requires a GNOME desktop. On other desktops (KDE, Sway, Hyprland, XFCE), screen and audio capture works but activity-based segment boundaries won't trigger.
6
7## System Dependencies
8
9**Fedora:**
10```bash
11dnf install python3-gobject gtk4 gstreamer1-plugins-base gstreamer1-plugin-pipewire pipewire-gstreamer alsa-lib-devel pulseaudio-utils pipewire-pulseaudio
12```
13
14**Debian/Ubuntu:**
15```bash
16apt install python3-gi gir1.2-gdk-4.0 gir1.2-gtk-4.0 gstreamer1.0-pipewire libasound2-dev pulseaudio-utils pipewire-pulse
17```
18
19**Arch:**
20```bash
21pacman -S python-gobject gtk4 gstreamer gst-plugin-pipewire libpulse alsa-lib
22```
23
24## Install
25
26Packages are not yet on PyPI. Install from source:
27
28```bash
29git clone https://github.com/solpbc/solstone-linux.git
30cd solstone-linux
31pipx install --system-site-packages .
32```
33
34`--system-site-packages` is required for PyGObject/GStreamer access.
35
36## Setup
37
38```bash
39solstone-linux setup
40```
41
42## Run
43
44```bash
45# Foreground
46solstone-linux run
47
48# As a systemd user service
49solstone-linux install-service
50```
51
52## Status
53
54```bash
55solstone-linux status
56```
57
58## License
59
60AGPL-3.0-only — Copyright (c) 2026 sol pbc