Red Hat Bugzilla – Bug 70072
Won't restart X on logout when change done under non-root account
Last modified: 2008-05-01 11:38:03 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20020625
Description of problem:
When changing the display settings via redhat-config-xfree8 (launched from the
menu under "System Tools/Display Configuration"), the program states that
changes will take effect after logout. This works when doing this logged in as
root, but when done as a regular user, X doesn't restart. The changes do take
effect if X is manually restarted (ctrl-alt-backspace works).
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.As non-root user, from the gnome menu run System Tools/Display Configuration &
enter the root pasword when prompted.
Actual Results: X doesn't restart on logout from normal user account after
making config changes in redhat-config-xfree86, but does restart if
redhat-config-xfree86 was run from within a root session.
Expected Results: X should restart even if this was done under normal user
session, since the user is prompted for the root password befure making changes,
and the changes are applied to /etc/X11/XF86Config.
Limbo running on dual Pentium II 350, 256Mb RAM, SMP kernel, NVIdia RIVA TNT2
AGP card, tried both XFree's "nv" driver and NVidia's "nvidia" driver with the
hp, i think this is actually a gdm setting AlwaysResetServer or something like
that. Should we enable that?
I know we've discussed toggling that gdm setting before, but I remember none of
the arguments for/against.
Setting AlwaysResetServer is more of a hack. Applications shouldn't depend on X
being killed and restarted on logout/login. It is much nicer, faster less
flickery to not restart the server but to just HUP it and have it regenerate
itself. I suppose it could even be safer on buggy video cards. Perhaps there
should be some way to lett gdm know that the session wants a restart.
I'm just adding a command to the fifo protocol to do this. one would need to do
if [ -e /var/gdm/.gdmfifo ]; then
(echo;echo DIRTY_SERVERS) > /var/gdm/.gdmfifo
Or follow the example in the gdm.spec for SOFT_RESTART (that will fetch the
proper directory of the .gdmfifo file no matter what it's set to in the config
file). Also doing this on an older version of gdm has no effect so it's safe to
do. (well it's not in cvs yet, but will be momentairly)
having a special way for redhat-config-xfree86 to force a server restart sounds
like a nice solution to me.
I'm also adding SOFT_RESTART_SERVERS command which is mostly like DIRTY_SERVERS
but if a user is not logged in on one of them it will restart the X server right
away. This may be a bit too harsh to do without the user asking for it. But it
may also be useful.
Just committed all this bit to CVS
Hmmmm, perhaps I should write some docs on all this as well someday
*** Bug 67046 has been marked as a duplicate of this bug. ***
George, is there a released version with this in yet?
Ok. This should be fixed in redhat-config-xfree86 0.6.0-1 and gdm 126.96.36.199-1.
Fix confirmed with redhat-config-xfree86-0.6.0-1 and gdm-188.8.131.52-1.