| Summary: | xscreensaver-4.22-r2 newlogin feature broken for 2nd new display | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Christopher Cowart <ccowart> |
| Component: | Current packages | Assignee: | Jonathan Smith (RETIRED) <smithj> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | desktop-misc, gnome |
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | x86 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
Patch against /usr/portage/gnome-base/gdm
Patch for /usr/portage/gnome-base/gdm/files Patch against /usr/portage/x11-misc/xscreensaver Patch against gdm-2.6.0.9 Patch against xscreensaver-4.22 |
||
|
Description
Christopher Cowart
2005-07-27 19:54:16 UTC
smells like an upstream bug to me, but i'll take a look I had an opportunity to get my hands (really) dirty with this. Turns out it has nothing to do with xscreensaver code. In the configure script, it specifies a command that is launched upon clicking the button. That command is $ gdmflexiserver -l Unfortunately, the gdmflexiserver creates the aforementioned dialog when more than 1 display is currently running. I've searched gdmflexiserver documentation and simply cannot find a way to disable this dialog. So I wrote a patch to do it for me. The patch completely disables the creation of the dialog. This fixes xscreensaver's problem. I patched the xscreensaver ebuild to warn users that new-login is limited unless gdm is recompiled with new-login as well. I edited the gdm ebuild to apply my patch if new-login is set. I'm submitting my patches against the portage tree. I'm also going upstream with gdm to request that they create a command-line option to disable the dialog to avoid such draconian measures being necessary to get xscreensaver working correctly. Created attachment 65634 [details, diff]
Patch against /usr/portage/gnome-base/gdm
This updates the gdm ebuild as mentioned in the bug.
Created attachment 65635 [details, diff]
Patch for /usr/portage/gnome-base/gdm/files
This is referenced in my updated ebuild.
Created attachment 65636 [details, diff]
Patch against /usr/portage/x11-misc/xscreensaver
This patches the xscreensaver ebuild as outlined in my comments.
gdm is the gnome herd's baby, so ccing them FYI: #313197 at bugzilla.gnome.org Created attachment 65800 [details, diff]
Patch against gdm-2.6.0.9
Suggesting that a feature be destroyed got some attention upstream. They added
a -s/--startnew commandline option to gdmflexiserver.c in CVS. I ported the
changes to the current stable ebuild.
Doing an epatch with this patch works like a charm. The dialog is dismissed
with the appropriate command-line option.
Created attachment 65801 [details, diff]
Patch against xscreensaver-4.22
And this patch is needed to get xscreensaver to play nicely. gdmflexiserver has
to be called with a -s by xscreensaver. I can't say that I know anything about
./configure scripts, but this makes sure that the -s option is passed along to
gdmflexiserver.
On a slightly unrelated note, the original configure script says the default is
"gdmflexiserver -l", but the result when the script is run is simply
"gdmflexiserver". The arguments are lost during configure time. The -l is
unnessecary. I'm going to bug upstream with xscreensaver so they know what
behavior to expect from gdmflexiserver. This patch should be applied in ebuilds
for now to allow this functionality.
GDM's changes from upstream have trickled down into stable ebuilds. xscreensaver can be configured via /etc/X11/app-defaults/XScreenSaver with the line: *newLoginCommand: /usr/bin/gdmflexiserver --startnew Thus, I consider the issue resolved. |