After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 561855 - Calls wrong slideshow binary if there is one installed in $PATH
Calls wrong slideshow binary if there is one installed in $PATH
Status: RESOLVED FIXED
Product: gnome-screensaver
Classification: Deprecated
Component: general
2.24.x
Other Linux
: Normal normal
: ---
Assigned To: gnome-screensaver maintainers
gnome-screensaver maintainers
Depends on:
Blocks:
 
 
Reported: 2008-11-21 19:56 UTC by freggy1
Modified: 2009-02-21 05:37 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
set helper full path when generating .desktop file (4.08 KB, patch)
2008-11-27 13:03 UTC, Frederic Crozat
committed Details | Review
patch (1.53 KB, patch)
2009-02-21 05:12 UTC, Matthias Clasen
committed Details | Review

Description freggy1 2008-11-21 19:56:27 UTC
I've got plt-drscheme installed, which installs a binary called slideshow in /usr/bin. Gnome-screensaver also has a binary called slideshow, installed in /usr/lib64/gnome-screensaver.

Now when clicking on the Pictures folder screensaver in g-s preferences dialog, a preview of /usr/lib64/gnome-screensaver/slideshow should be shown of this screensaver in the dialog. Instead /usr/bin/slideshow is started, resulting in plt's slideshow application being shown full screen.

g-s should use the full path for /usr/lib64/gnome-screensaver/slideshow or it should prepend /usr/lib64/gnome-screensaver/ to $PATH before starting a screensaver.
Comment 1 Frederic Crozat 2008-11-27 13:03:44 UTC
Created attachment 123539 [details] [review]
set helper full path when generating .desktop file

Attached patch ensure .desktop are generated with full path for the various screensaver helper used.
Comment 2 William Jon McCann 2008-12-03 02:51:55 UTC
Committed to trunk.  Thanks!
Comment 3 Alan Swanson 2008-12-19 22:40:12 UTC
This has broken normal running of screensavers as the find_command function in src/gs-theme-manager.c already checks the exec in the desktop file against a list of directories not including root.

For example, with 2.25.2 gnome-screensaver is checking against the following and failing.

/usr/libexec/gnome-screensaver/usr/libexec/gnome-screensaver/popsquares
/usr/lib/misc/xscreensaver/usr/libexec/gnome-screensaver/popsquares
/usr/libexec/xscreensaver/usr/libexec/gnome-screensaver/popsquares
/usr/libexec/xscreensaver/usr/libexec/gnome-screensaver/popsquares
/usr/lib/xscreensaver/usr/libexec/gnome-screensaver/popsquares
Comment 4 freggy1 2009-01-31 23:04:16 UTC
Confirmed. With this patch, all screensavers are broken and just a blank screen is shown. If I remove the full path from cosmos-slideshow.desktop (on a system where plt is not installed), the Cosmos screensaver starts working again.
Comment 5 Matthias Clasen 2009-02-21 05:12:51 UTC
Created attachment 129199 [details] [review]
patch

Here is a patch that also accepts full paths in the trusted directories
Comment 6 Matthias Clasen 2009-02-21 05:37:13 UTC
        * src/gs-theme-manager.c (find_command): Accept a full path
        as long as it is one of the trusted directories. (#561855)