Skip to main content

command line utility to list session power inhibitors for Linux Gnome users.

Inspired by https://askubuntu.com/a/1239194/152287 from Alexis Wilke (https://www.m2osw.com/)

Install Tips

The pip install adds an executable to your path (see usage).

This script assumes you are using Gnome.

Prerequisite packages

The python package PyGObject is a prerequisite. Installation is automatic, but certain system packages must be installed, according to the requirements of PyGObject

For Ubuntu 20.10:

sudo apt install python3-pip libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev gir1.2-gtk-3.0

for other distributions, see https://pygobject.readthedocs.io/en/latest/getting_started.html

You may get a warning that ~/.local/bin is not on your path.

When you next login, this will be fixed.

Usage

inhibitors list

Example

With the Gnome Shell plugin Caffeine activate, and a Google Meet running in Firefox:

$ inhibitors list
Listing inhibitors reported by dbus:
Inhibitor: firefox audio-playing
Inhibitor: user Inhibit by Caffeine

Comparison with systemd

we can do $ systemd-inhibit --list

which on my desktop gives:

WHO                            UID  USER PID  COMM            WHAT                                                     WHY                                                       MODE 
ModemManager                   0    root 2222 ModemManager    sleep                                                    ModemManager needs to reset devices                       delay
NetworkManager                 0    root 1912 NetworkManager  sleep                                                    NetworkManager needs to turn off networks                 delay
UPower                         0    root 2654 upowerd         sleep                                                    Pause device polling                                      delay
Unattended Upgrades Shutdown   0    root 2449 unattended-upgr shutdown                                                 Stop ongoing upgrades or perform upgrades before shutdown delay
GNOME Shell                    1000 tim  5039 gnome-shell     sleep                                                    GNOME needs to lock the screen                            delay
Telepathy                      1000 tim  5156 mission-control shutdown:sleep                                           Disconnecting IM accounts before suspend/shutdown...      delay
gnome-tweak-tool-lid-inhibitor 1000 tim  5325 python3         handle-lid-switch                                        user preference                                           block
tim                            1000 tim  5255 gsd-media-keys  handle-power-key:handle-suspend-key:handle-hibernate-key GNOME handling keypresses                                 block
tim                            1000 tim  5020 gnome-session-b shutdown:sleep                                           user session inhibited                                    block
tim                            1000 tim  5255 gsd-media-keys  sleep                                                    GNOME handling keypresses                                 delay
tim                            1000 tim  5257 gsd-power       sleep                                                    GNOME needs to lock the screen                            delay

The Caffeine plugin inhibit is the third line from the bottom. However, it is not obvious. I am sure in this case, because when I deactivate caffeine, the third line disappears.

The Google Meet inhibitor is not even listed at all. However, it is definitely an inhibitor.

Building and uploading

python3 -m build
python3 -m twine upload --skip-existing dist/* 

Metadata

Release files for list-session-inhibitors 0.9.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for list-session-inhibitors 0.9.8
File Size Uploaded
list_session_inhibitors-0.9.8.tar.gz 4.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for list-session-inhibitors 0.9.8
File Interpreter ABI Platform
list_session_inhibitors-0.9.8-py3-none-any.whl Python 3 none any Details

Total release size: 8.6 kB

Release files / list_session_inhibitors-0.9.8.tar.gz

Download URL list_session_inhibitors-0.9.8.tar.gz
Size 4.3 kB
Tags Source
SHA-256 checksum
How to use checksums
001d1573ddcd672a02688f1a384cf2d6ab8e11d83b938030d948350702b6d7ff
BLAKE2b-256 checksum
How to use checksums
5e4469f9e4f43873b587dcbae06c583976989894920b2dde35eb2e029b181d85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.6

Release files / list_session_inhibitors-0.9.8-py3-none-any.whl

Download URL list_session_inhibitors-0.9.8-py3-none-any.whl
Size 4.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0a228184900982c4857660e2eef1c13e51ffb685cfc917a94f6be65848d525fb
BLAKE2b-256 checksum
How to use checksums
42ae8e21420fa95cab885d4d4d00c590b99e7e1a5d62d5e7f0a434347dfe1306
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.10.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.6

Release history Release notifications | RSS feed

This release

0.9.8 This release

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release 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