Skip to main content
added 306 characters in body
Source Link

I think you have figured this out yourself, but here's the answer

VLC calls (from your example):

  • Inhibit method of the org.freedesktop.ScreenSaver interface & service.

Chrome calls (from your example):

  • Inhibit method of the org.freedesktop.ScreenSaver interface & service.
  • Something else (xfce related) which makes also a call to org.freedesktop.ScreenSaver.Inhibit
  • Inhibit method of the org.freedesktop.PowerManagement.Inhibit interface of org.freedesktop.PowerManagement.Inhibit service.

So, effectively Chrome takes three inhibitor locks from two different interfaces (ScreenSaver and PowerManagement), and VLC only gets the inhibitor lock from the ScreenSaver interface. Those two interfaces are from two completely different services. Assuming the services have been implemented correctly, these work with completely different set of inhibitor locks.

The (now deprecated) org.freedesktop.PowerManagement inhibits only suspend[*] (CPU stopping), whereas org.freedesktop.ScreenSaver inhibits your system from going idle, which in practice inhibits the idle action, which usually means screensaver kicking in (usually locking and blanking the screen) and the suspend (CPU stopping).


[*]: There is a bug report for xfce-power-manager v. 1.6.1 which says that org.freedesktop.PowerManagement.Inhibit has been implemented incorrectly, and it inhibits also the screensaver (probably inhibits system going idle). As the ticket is still open, it is possible that the bug exists still in the latest xfce-power-manager (4.19).

I think you have figured this out yourself, but here's the answer

VLC calls (from your example):

  • Inhibit method of the org.freedesktop.ScreenSaver interface & service.

Chrome calls (from your example):

  • Inhibit method of the org.freedesktop.ScreenSaver interface & service.
  • Something else (xfce related) which makes also a call to org.freedesktop.ScreenSaver.Inhibit
  • Inhibit method of the org.freedesktop.PowerManagement.Inhibit interface of org.freedesktop.PowerManagement.Inhibit service.

So, effectively Chrome takes three inhibitor locks from two different interfaces (ScreenSaver and PowerManagement), and VLC only gets the inhibitor lock from the ScreenSaver interface. Those two interfaces are from two completely different services. Assuming the services have been implemented correctly, these work with completely different set of inhibitor locks.

The (now deprecated) org.freedesktop.PowerManagement inhibits only suspend[*] (CPU stopping), whereas org.freedesktop.ScreenSaver inhibits your system from going idle, which in practice inhibits the idle action, which usually means screensaver kicking in (usually locking and blanking the screen) and the suspend (CPU stopping).


[*]: There is a bug report for xfce-power-manager v. 1.6.1 which says that org.freedesktop.PowerManagement.Inhibit has been implemented incorrectly, and it inhibits also the screensaver (probably inhibits system going idle).

I think you have figured this out yourself, but here's the answer

VLC calls (from your example):

  • Inhibit method of the org.freedesktop.ScreenSaver interface & service.

Chrome calls (from your example):

  • Inhibit method of the org.freedesktop.ScreenSaver interface & service.
  • Something else (xfce related) which makes also a call to org.freedesktop.ScreenSaver.Inhibit
  • Inhibit method of the org.freedesktop.PowerManagement.Inhibit interface of org.freedesktop.PowerManagement.Inhibit service.

So, effectively Chrome takes three inhibitor locks from two different interfaces (ScreenSaver and PowerManagement), and VLC only gets the inhibitor lock from the ScreenSaver interface. Those two interfaces are from two completely different services. Assuming the services have been implemented correctly, these work with completely different set of inhibitor locks.

The (now deprecated) org.freedesktop.PowerManagement inhibits only suspend[*] (CPU stopping), whereas org.freedesktop.ScreenSaver inhibits your system from going idle, which in practice inhibits the idle action, which usually means screensaver kicking in (usually locking and blanking the screen) and the suspend (CPU stopping).


[*]: There is a bug report for xfce-power-manager v. 1.6.1 which says that org.freedesktop.PowerManagement.Inhibit has been implemented incorrectly, and it inhibits also the screensaver (probably inhibits system going idle). As the ticket is still open, it is possible that the bug exists still in the latest xfce-power-manager (4.19).

added 306 characters in body
Source Link

I think you have figured this out yourself, but here's the answer

VLC calls (from your example):

  • Inhibit method of the org.freedesktop.ScreenSaver interface & service.

Chrome calls (from your example):

  • Inhibit method of the org.freedesktop.ScreenSaver interface & service.
  • Something else (xfce related) which makes also a call to org.freedesktop.ScreenSaver.Inhibit
  • Inhibit method of the org.freedesktop.PowerManagement.Inhibit interface of org.freedesktop.PowerManagement.Inhibit service.

So, effectively Chrome takes three inhibitor locks from two different interfaces (ScreenSaver and PowerManagement), and VLC only gets the inhibitor lock from the ScreenSaver interface. Those two interfaces are from two completely different services. Assuming the services have been implemented correctly, these work with completely different set of inhibitor locks.

The (now deprecated) org.freedesktop.PowerManagement inhibits only suspendsuspend[*] (CPU stopping), whereas org.freedesktop.ScreenSaver inhibits your system from going idle, which in practice inhibits the idle action, which usually means screensaver kicking in (usually locking and blanking the screen) and the suspend (CPU stopping).


[*]: There is a bug report for xfce-power-manager v. 1.6.1 which says that org.freedesktop.PowerManagement.Inhibit has been implemented incorrectly, and it inhibits also the screensaver (probably inhibits system going idle).

I think you have figured this out yourself, but here's the answer

VLC calls (from your example):

  • Inhibit method of the org.freedesktop.ScreenSaver interface & service.

Chrome calls (from your example):

  • Inhibit method of the org.freedesktop.ScreenSaver interface & service.
  • Something else (xfce related) which makes also a call to org.freedesktop.ScreenSaver.Inhibit
  • Inhibit method of the org.freedesktop.PowerManagement.Inhibit interface of org.freedesktop.PowerManagement.Inhibit service.

So, effectively Chrome takes three inhibitor locks from two different interfaces (ScreenSaver and PowerManagement), and VLC only gets the inhibitor lock from the ScreenSaver interface. Those two interfaces are from two completely different services. Assuming the services have been implemented correctly, these work with completely different set of inhibitor locks.

The (now deprecated) org.freedesktop.PowerManagement inhibits only suspend (CPU stopping), whereas org.freedesktop.ScreenSaver inhibits your system from going idle, which in practice inhibits the idle action, which usually means screensaver kicking in (usually locking and blanking the screen) and the suspend (CPU stopping).

I think you have figured this out yourself, but here's the answer

VLC calls (from your example):

  • Inhibit method of the org.freedesktop.ScreenSaver interface & service.

Chrome calls (from your example):

  • Inhibit method of the org.freedesktop.ScreenSaver interface & service.
  • Something else (xfce related) which makes also a call to org.freedesktop.ScreenSaver.Inhibit
  • Inhibit method of the org.freedesktop.PowerManagement.Inhibit interface of org.freedesktop.PowerManagement.Inhibit service.

So, effectively Chrome takes three inhibitor locks from two different interfaces (ScreenSaver and PowerManagement), and VLC only gets the inhibitor lock from the ScreenSaver interface. Those two interfaces are from two completely different services. Assuming the services have been implemented correctly, these work with completely different set of inhibitor locks.

The (now deprecated) org.freedesktop.PowerManagement inhibits only suspend[*] (CPU stopping), whereas org.freedesktop.ScreenSaver inhibits your system from going idle, which in practice inhibits the idle action, which usually means screensaver kicking in (usually locking and blanking the screen) and the suspend (CPU stopping).


[*]: There is a bug report for xfce-power-manager v. 1.6.1 which says that org.freedesktop.PowerManagement.Inhibit has been implemented incorrectly, and it inhibits also the screensaver (probably inhibits system going idle).

Source Link

I think you have figured this out yourself, but here's the answer

VLC calls (from your example):

  • Inhibit method of the org.freedesktop.ScreenSaver interface & service.

Chrome calls (from your example):

  • Inhibit method of the org.freedesktop.ScreenSaver interface & service.
  • Something else (xfce related) which makes also a call to org.freedesktop.ScreenSaver.Inhibit
  • Inhibit method of the org.freedesktop.PowerManagement.Inhibit interface of org.freedesktop.PowerManagement.Inhibit service.

So, effectively Chrome takes three inhibitor locks from two different interfaces (ScreenSaver and PowerManagement), and VLC only gets the inhibitor lock from the ScreenSaver interface. Those two interfaces are from two completely different services. Assuming the services have been implemented correctly, these work with completely different set of inhibitor locks.

The (now deprecated) org.freedesktop.PowerManagement inhibits only suspend (CPU stopping), whereas org.freedesktop.ScreenSaver inhibits your system from going idle, which in practice inhibits the idle action, which usually means screensaver kicking in (usually locking and blanking the screen) and the suspend (CPU stopping).