Skip to content

Belenos-Toutatis/session-timeline

Repository files navigation

Session Timeline

🇬🇧 English · 🇫🇷 Français · 🇪🇸 Español · 🇩🇪 Deutsch

The application itself is available in 30 languages (see Tools → Language).

See, at a glance, when your computer has actually been used.

Session Timeline displays the recent history of your Linux/GNOME computer on an interactive horizontal timeline: when it was powered on, when your user sessions were open, and when your screen was active or asleep.

Useful to answer questions like:

  • “At what time did I lock my computer last Friday?”
  • “How many hours was my PC actually in use this week?”
  • “Did my computer reboot during the night?”
  • “When was my session unlocked yesterday morning?”

The data comes from journalctl (no telemetry, no network — everything stays on your machine).

Session Timeline — interactive timeline showing power, sessions, and screen state over the last month

Features

  • Three parallel tracks: power on/off, user session(s) open/closed/locked, screen active/sleep
  • Interactive timeline: scroll-wheel zoom centered on the pointer, click-and-drag to pan, time axis adapts from hours to weeks/months
  • Per-user breakdown of active session durations
  • Built-in stats panel: total time per state, percentages, counters (boots, logins, locks, screen sleeps)
  • Optional companion daemon for fine-grained screen lock/unlock and sleep events
  • CSV export of all events
  • Native GNOME integration: appears in the Activities menu, no terminal required
  • Multilingual UI: 30 languages with native flag selector (Tools → Language)

Installation

Option 1 — APT repository (Ubuntu 22.04+ / Debian 12+) — recommended

Get the package and automatic updates by adding the project's APT repository:

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://belenos-toutatis.github.io/session-timeline/pubkey.asc \
  | sudo gpg --dearmor -o /etc/apt/keyrings/session-timeline.gpg
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/session-timeline.gpg] https://belenos-toutatis.github.io/session-timeline stable main" \
  | sudo tee /etc/apt/sources.list.d/session-timeline.list
sudo apt update
sudo apt install session-timeline

Option 2 — standalone .deb package

Download session-timeline_<version>_amd64.deb from Releases, then:

sudo apt install ./session-timeline_<version>_amd64.deb

Or double-click the .deb from your file manager — GNOME Software will handle the install. To uninstall: sudo apt remove session-timeline.

Option 2 — AppImage (any Linux distribution)

Download Session_Timeline-x86_64.AppImage from Releases, then:

chmod +x Session_Timeline-x86_64.AppImage
./Session_Timeline-x86_64.AppImage

No system installation needed; the AppImage runs in place. To integrate it into the Activities menu, use a tool like AppImageLauncher or use Tools → System integration from inside the app.

Option 3 — Build from source

Requires Rust installed.

git clone https://github.com/Belenos-Toutatis/session-timeline.git
cd session-timeline
./launch.sh        # compile and run
# or:
./install.sh       # compile + install icon into the Activities menu

Optional companion daemon

A small daemon (screen-state-tracker) installs from Tools → Install the daemon. It listens for GNOME's DBus signals and records lock/unlock and screen sleep events into the system journal, making the timeline much more precise from then on.

The daemon starts automatically with each session opening, and can be uninstalled from the same menu.

Keyboard shortcuts

  • Mouse wheel — zoom centered on pointer
  • Click-and-drag — pan the timeline horizontally
  • F11 — toggle fullscreen
  • Ctrl+M — toggle window maximization
  • Ctrl+R — reload data
  • Ctrl+E — export events to CSV
  • 0 — fit the view to the time range

System dependencies

Pre-installed by default on Ubuntu/GNOME (the .deb installs them automatically if missing):

  • dbus-monitor, systemd-cat, journalctl — required by the optional daemon
  • zenity — for the graphical uninstall dialog
  • pkexec (or policykit-1 on older distros) — for actions requiring elevated privileges
  • fonts-dejavu-core — display font

Optional:

  • openrazer-daemon — provides bonus screen events if you have a Razer device

Building distribution packages

./dist/build-packages.sh
# → produces dist/session-timeline_<version>_amd64.deb
# → produces dist/Session_Timeline-x86_64.AppImage

License

MIT — see LICENSE.

About

Visualisation de l'historique d'utilisation Linux/GNOME (démarrage et arrêt de l'ordinateur, des sessions, de l'écran)

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors