Bug 97811

Summary: Warn / fail if xdg-screensaver cannot find xprop
Product: Portland Reporter: nicolas+freedesktop
Component: xdg-utilsAssignee: Portland Bugs <portland-bugs>
Status: RESOLVED MOVED QA Contact:
Severity: normal    
Priority: medium CC: andyrtr
Version: 1.1.0   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description nicolas+freedesktop 2016-09-15 05:43:45 UTC
On Gnome 3, xdg-screensaver fails to suspend the screensaver if xprop is not installed.

Without xprop the $screensaver_file is not created (as xdg-screensaver cannot retrieve the window ID), and so the "inhibitor" placed on the session via DBus expires after the 10s sleep in the Perl DBus script loop.

---
while (1) {                                                                     
  sleep(10);                                                                    
  my $status = new IO::File($screensaver_file, "r")                             
    or exit 0;                       
---

xdg-screensaver seems to try to support the case where xprop is not installed (It checks for xprop, and various functions bail out early if it's not available). However with Gnome 3 (and perhaps with other environments) it seems it's a hard requirement, and as such the user should be warned if it's missing.

I believe that affects numerous users as there have been several reports of xdg-screensaver failing with Gnome in various projects:

* https://bugzilla.redhat.com/show_bug.cgi?id=665918
* https://trac.videolan.org/vlc/ticket/4739
* https://forum.videolan.org/viewtopic.php?t=127389
Comment 1 GitLab Migration User 2019-02-16 13:37:34 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/xdg/xdg-utils/issues/93.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.