xfce4-session: xfwm4 removed from session, not started on login

Olivier Fourdan fourdan at gmail.com
Wed Jul 25 18:17:25 CEST 2012


On Wed, Jul 25, 2012 at 1:13 PM, Chris Bainbridge <
chris.bainbridge at gmail.com> wrote:

> Hello,
> I decided to try and track down the infamous bug that causes xfwm4 to
> not be running on login (for details see links at end of email)

Thanks for taking the time to investigate that, I could never reliably
reproduce the issue and there was very little tangible data to get to the
root cause.

> XFCE Bug #5379 suggested that it was related to multiple applications
> requesting an interact with the session manager. I found the cause of
> this (in this particular case) to be that xfwm4-session disconnects
> xfwm4 and then the session is recorded with no xfwm4, so on next login
> there is no xfwm4. I have posted a patch for this to bug #5379.

Now that's interesting, the culprit would be xfce4-session like everybody
was pointing toward xfwm4.

That makes a lot of sense actually because the bug started to appear just
after the bunch of changes which occurred on session management code.

> Questions:
> 1) Can someone verify that my patch to #5379 is correct, and if so, commit
> it?
> 2) Is there any way to ensure that this never happens again? I'm
> thinking that xfwm4 (and perhaps some others) is so important that it
> should always be started regardless of the previous session contents,
> unless the user has explicitly configured an alternative session
> manager. This could be hardcoded in the session init code, but perhaps
> XFCE already supports such an "essential apps" list? It seems a poor
> design that xfwm4 can be disconnected from the session manager, won't
> reconnect, and the user loses window manager forever.

Not poor design, it's the standard way to let the user choose whatever
window manager (s)he wants and get it back at next login (assuming the
session is saved at logout).

GNOME 3 does not save the session at logout by default (still possible, but
requires tweaking gsettings).

If the user is
> unable to focus and type on a terminal, then the process to manually
> restart is involved (switch to a console, and either rm the session
> file and login again, or restart xfwm4, go back to desktop and run
> xfwm4 --replace again so this time it picks up the $SESSION_MANAGER
> variable and will get stored in the cache on next logout.)

Yes, but such an issue should not happen, I don't see the point of adding a
mechanism to prevent something that should not happen anyway.

If xfwm4 crashes, it's automatically restarted, if another window manager
takes control, it exits cleanly and the other window manager would be
restarted by session management.

If not, that's a bug that needs fixing.

> https://bugs.launchpad.net/ubuntu/+source/xfwm4/+bug/495361
> https://bugs.launchpad.net/ubuntu/+source/xfwm4/+bug/978333
> https://bugzilla.xfce.org/show_bug.cgi?id=8070
> https://bugzilla.xfce.org/show_bug.cgi?id=5379
> http://forum.xfce.org/viewtopic.php?id=5707 - According to the 'known
> bugs in 4.8' thread: "it's by far the most frequent xfce bug as I can
> see in help section of different forums. It's very easy to recover
> from it but, for users who don't know the xfwm4 magic command, it's
> seen as a catastrophe."

The window manager is just an application like any others for session
management, it not restored then it won't be running.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.xfce.org/pipermail/xfce4-dev/attachments/20120725/413b2168/attachment.html>

More information about the Xfce4-dev mailing list