A GNOME extension that shows who else is logged in to your computer, locally or remotely (SSH, remote desktop).
| Current Support |
|---|
| 46 – 51 |
- Install and enable the extension
- Whenever someone else is logged in, an icon shows in the top bar: an orange "terminal" for remote sessions, a white "users" for other local sessions
- Open the system menu and click the "Login Sessions" row to see every session, with the current user session at the top
- Click a session to expand it: where it comes from, how it logged in, when it started and how many processes it runs
- Click the × next to a session to end it. A confirmation dialog will appear, with the processes that will stop with it listed; ending another user's session needs an administrator password
A session that was disconnected but still has processes running (e.g. tmux after an SSH connection dropped) is listed dimmed, and also shows its icon.
Open the extension's preferences in the Extensions app, or with gnome-extensions prefs sessionspy@dev.swz.
Display Location: where the sessions show. Only the settings for the chosen location are listed below it.
- Top Bar Pills: separate top bar buttons, always with their counts; the remote one is a blue pill like GNOME's screen sharing indicator
- Show Session List in Quick Settings (default on): also show the "Login Sessions" row in the system menu
- System Menu Icons (default): icons among the system menu's status icons, and the "Login Sessions" row in its quick settings
- Show Session Counts (default off): show the number of sessions next to an icon. The icon alone already means 2 local or 1 remote session, so counts show from 3 local or 2 remote sessions on
Sessions come from systemd-logind, the same list as loginctl list-sessions. Only people's sessions count: the login screen, lock screen and system sessions are left out.
At a minimum, this extension supports the GNOME versions shipped by:
- The two latest Ubuntu LTS releases
- The latest Debian release
- The latest RHEL release
- The latest SLES / openSUSE Leap release
- The latest Fedora Beta (the upcoming Fedora release, not Rawhide).
The supported range is from the oldest GNOME version to the latest GNOME version used among the above list, and is reviewed whenever one of these distributions has a new release.
Translations live in po/. Currently available: Chinese (Simplified, zh_CN), Chinese (Traditional, zh_TW), Spanish (Latin America, es) and Spanish (Spain, es_ES).
To add or update one:
- Run
tools/update-pot.shto refresh the template and existing translations - Start a new language with
msginit -i po/sessionspy@dev.swz.pot -o po/<lang>.po -l <lang>, or edit an existingpo/<lang>.po - Run
tools/pack.shto builddist/sessionspy@dev.swz.zipand install it withgnome-extensions install --force dist/sessionspy@dev.swz.zip
docs/technical.mdexplains how the extension works, what it relies on in GNOME Shell and systemd, and how it is tested and releasedtests/run.shruns the extension in a throw-away headless GNOME Shell (it works over SSH), checks it againstloginctland opens its preferences. SetSS_SCREENSHOT_DIRto also save screenshots with made-up sessionsscreenshots/top-bar-menu.pngandsystem-menu-list.pnghave a transparent desktop: take the screenshots twice, withSS_BACKGROUND=#ffffffand#000000, and combine each pair withtools/transparent.py(needs Pillow)



