! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
xfdesktop without session management
Status:
VERIFIED: INVALID
Product:
Xfdesktop
Component:
General

Comments

Description Nikolas.Arend 2004-11-02 10:52:34 CET
when running xfdesktop without session management, pressing the quit button in
the desktop menu only terminates xfdesktop, it does log you out of xfce, i.e.
presents you with the logout question window.

xfdesktop (and other core xfce4 components) version CVS-20041101

Nick.
Comment 1 Brian J. Tarricone (not reading bugmail) 2004-11-02 10:55:34 CET
yep, that's how it's supposed to work.
Comment 2 Nikolas.Arend 2004-11-02 11:50:58 CET
>> Frankly, that does not make sense to me. The normal user probably sees xfce
as a whole and presenting him/her
>> with a quit button in the desktop menu implies IMHO that it would log out of
the current session and not just
>> end the desktop.


>that's a matter of opinion ^_~.

That's why I wrote "IMHO" ;-) But don't you thing that it's more intuitive to
consider the quit as a logout button? I mean, if you ask 100 unbiased users, I
would guess at least 90 of them would not expect that just their desktop is
silently vanishing.

>> Shouldn't then pressing the panel quit/exit button only terminate the panel? 


>it does.  it just so happens that the default order of app loading for a
>session-manager-less start has the panel as the last app, and thus the "session
>controlling app", so quitting the panel make xinitrc return, and thus makes X
>quit.

Right, forgot about that. So if the users adds something elso to his/her custom
xinitrc that gets started after the panel, ending (e.g. accidentally) that app
would terminate the session as well?! Maybe another logout mechnism should be
considered? I know, just run xfce4-session... ;-) I normally do, it's disable
due to debugging purposes for now.

Thanks for your patience,

Nick.
Comment 3 Nikolas.Arend 2004-11-02 13:50:26 CET
And I might add, that with session management running, all quit/exit buttons act
the same, which is preparing for logging out of the session. Compared to the
situation without session management, that does not seem strictly consistent.

Nick
Comment 4 Brian J. Tarricone (not reading bugmail) 2004-11-02 20:15:07 CET
(In reply to comment #2)

> Right, forgot about that. So if the users adds something elso to his/her custom
> xinitrc that gets started after the panel, ending (e.g. accidentally) that app
> would terminate the session as well?!

for starters, it's hard to do this accidentally.  xinitrc is just a normal shell
script; it executes each line of the script sequentially, moving to the next
line when the current line finishes.  to load the entire environment, you have
to "daemonise" all but the last process, like so:

xfce-mcs-manager  # runs as a daemon by default
xfwm4 --daemon    # runs as a daemon with the option
xfdesktop &       # no daemon mode, requires an '&'
xfcalendar &      # ditto
xfce4-panel       # session controlling app; must remain in the foreground

so if you were to add something to the end of the list, nothing would happen. 
xfce4-panel would start, and "block" further exection of the script until it
exits.  actually, if you were then to use the "exit" item on the panel, the
panel would quit, and this other app listed after it would start.  then after
quitting that app, X itself would quit actually xinit, the process that handles
starting the X server, quits.

i know this might seem unintuitive, but this is just how it works.  X wasn't
designed with the notion of a session manager.  the idea is, you run 'xinit',
and it handles starting X and loading some specified script (~/.xinitrc by
default).  when the script exits, xinit shuts down X.  this is just how it's
always worked, and desktop environments with several components and no session
manager leverage this procedure to create a pseudo-session.

> Maybe another logout mechnism should be
> considered? I know, just run xfce4-session... ;-) I normally do, it's disable
> due to debugging purposes for now.

nope, definitely not.  the session manager paradigm is quite mature and
well-tested.  this is going to be the only supported method for running xfce. 
i'm not sure i understand what you mean by "debugging purposes"; there's no
compelling reason i see to avoid running xfce4-session.

> And I might add, that with session management running, all quit/exit buttons
> act the same, which is preparing for logging out of the session. Compared to
> the situation without session management, that does not seem strictly
> consistent.

not sure what your point is here; it seems perfectly consistent now that we have
a session manager.  using a "quit" item on a part of the desktop environment
itself should log out out from the environment.  from a user's perspective,
there is no xfdesktop, there is no xfce4-panel or xfmw4.  there's just xfce.
Comment 5 Nikolas.Arend 2004-11-02 20:57:21 CET
>
>for starters, it's hard to do this accidentally.  xinitrc is just a normal 

Agreed, but who knows what they're trying to fiddle with ;-)


>script; it executes each line of the script sequentially, moving to the next
>line when the current line finishes.  to load the entire environment, you have
>to "daemonise" all but the last process, like so:
>
>xfce-mcs-manager  # runs as a daemon by default
>xfwm4 --daemon    # runs as a daemon with the option
>xfdesktop &       # no daemon mode, requires an '&'
>xfcalendar &      # ditto
>xfce4-panel       # session controlling app; must remain in the foreground
>
>so if you were to add something to the end of the list, nothing would happen. 
>xfce4-panel would start, and "block" further exection of the script until it
>exits.  actually, if you were then to use the "exit" item on the panel, the
>panel would quit, and this other app listed after it would start.  then after
>quitting that app, X itself would quit actually xinit, the process that handles
>starting the X server, quits.

Well, I know all this. I'm very familiar with the way X works, shell scripts and
what xinit is doing. I tried to review things from a "normal" users perspective.

>
>i know this might seem unintuitive, but this is just how it works.  X wasn't
>designed with the notion of a session manager.  the idea is, you run 'xinit',
>and it handles starting X and loading some specified script (~/.xinitrc by
>default).  when the script exits, xinit shuts down X.  this is just how it's
>always worked, and desktop environments with several components and no session
>manager leverage this procedure to create a pseudo-session.
>
>>Maybe another logout mechnism should be
>>considered? I know, just run xfce4-session... ;-) I normally do, it's disable
>>due to debugging purposes for now.
>
>
>nope, definitely not.  the session manager paradigm is quite mature and
>well-tested.  this is going to be the only supported method for running xfce. 
>i'm not sure i understand what you mean by "debugging purposes"; there's no
>compelling reason i see to avoid running xfce4-session.
>

Maybe I've been a bit short. I'm not suggesting to dump the session manager, not
at all. I disabled it because I was starting the panel manually in gdb via xinit
(for debugging purposes, see bug 450). I was trying to say that when running the
session manager, everything works as expected, so one better should be. I only
noticed the behaviour we're currently discussing about when I disabled
xfce4-session. That remark was a bit misleading, I admit.

>>And I might add, that with session management running, all quit/exit buttons
>>act the same, which is preparing for logging out of the session. Compared to
>>the situation without session management, that does not seem strictly
>>consistent.
>
>
>not sure what your point is here; it seems perfectly consistent now that we have
>a session manager.  using a "quit" item on a part of the desktop environment
>itself should log out out from the environment.  from a user's perspective,
>there is no xfdesktop, there is no xfce4-panel or xfmw4.  there's just xfce.
>

Right, that was my point from the beginning (see one of the previous mails)!
When the session manager is running, everything appears quite consistent/uniform
for the user. But if you don't use it, all quit/exit buttons do something
different: the desktop menus button ends the desktop, the panels exit button
pops up the "Are you sure you wanna end this session" window. And for one not
knowing about the way xinit works, that is hardly comprehensible.

So my point is: Quit/exit buttons should always do the same thing: end the
session, whatever way of starting up xfce you choose. Otherwise they should not
be there or give a hint of what they're doing. In xfdesktops case there could
pop up a note that says s.th. like "Terminating xfdesktop. Ya sure?"

What about creating a dummy process in xinit, that does nothing than waiting for
it's termination when logging out? I'm just suggesting this know, without
thinking more deeply about it (it's getting later in Germany), so please be
forbearing if it turns out to be totally foolish ;-)

Hope I made myself clearer this time. 

Nick

PS: Man, this bugzilla "Additional Comments" window is damn small
Comment 6 Brian J. Tarricone (not reading bugmail) 2004-11-02 23:16:23 CET
(In reply to comment #5)
> >
> >for starters, it's hard to do this accidentally.  xinitrc is just a normal 
> 
> Agreed, but who knows what they're trying to fiddle with ;-)

then i don't see why we need to support that.  if the user wants to fiddle, and
it breaks, they get to keep the pieces.

> Well, I know all this. I'm very familiar with the way X works, shell scripts 
> and what xinit is doing.

ah, sorry.  i tend to try to explain things as fully as possible, since i
usually don't know the knowledge level of my audience.

> I tried to review things from a "normal" users perspective.

except that you're not.  the "normal" user isn't going to know about xinitrc, at
least not now that we have a session manager.

> Maybe I've been a bit short. I'm not suggesting to dump the session manager,
> not at all. I disabled it because I was starting the panel manually in gdb via
> xinit (for debugging purposes, see bug 450).

not necessary.  with the session manager running, just kill xfce4-panel from a
terminal and restart it in gdb.  much easier than fiddling with xinitrc.

> I was trying to say that when running the
> session manager, everything works as expected, so one better should be. I only
> noticed the behaviour we're currently discussing about when I disabled
> xfce4-session. That remark was a bit misleading, I admit.

yep, i understand that.  but my point is that users aren't going to run without
the session manager anymore, and i have no desire to support those that ditch it.

> Right, that was my point from the beginning (see one of the previous mails)!
> When the session manager is running, everything appears quite
> consistent/uniform for the user. But if you don't use it, all quit/exit
> buttons do something different: the desktop menus button ends the desktop,
> the panels exit button pops up the "Are you sure you wanna end this session"
> window. And for one not knowing about the way xinit works, that is hardly
> comprehensible.

see above.  users don't have to know, and under normal operation, they'll never
encounter this scenario.

> So my point is: Quit/exit buttons should always do the same thing: end the
> session, whatever way of starting up xfce you choose.

not easily implementable for the case without a session manager, since there's
no way of telling which app is the session-controlling one.

> Otherwise they should not
> be there or give a hint of what they're doing. In xfdesktops case there could
> pop up a note that says s.th. like "Terminating xfdesktop. Ya sure?"

from the menu's point of view, it doesn't know anything about the session at
all.  the menu is designed to be a module, and it doesn't know (or care) that
it's running as a part of xfdesktop or xfce4-panel.  it just calls a function
that has a predetermined name and that's all the interaction it has.

 
> What about creating a dummy process in xinit, that does nothing than waiting
> for it's termination when logging out? I'm just suggesting this know, without
> thinking more deeply about it (it's getting later in Germany), so please be
> forbearing if it turns out to be totally foolish ;-)

ok, but then how does the user terminate this process?  have the quit buttons
do a kill()?  that just seems messy to me.  at any rate, it's a moot point,
because it's a waste of time, as we're not going to support the case of not
using the session manager.  there's just no reason why you'd need to do it the
other way.

> PS: Man, this bugzilla "Additional Comments" window is damn small

yeah, you're right.  i just added another 5 lines to it.  should be 80x15 now.
Comment 7 Nikolas.Arend 2004-11-02 23:39:35 CET
>
>except that you're not.  the "normal" user isn't going to know about xinitrc, at
>least not now that we have a session manager.
>
>>Maybe I've been a bit short. I'm not suggesting to dump the session manager,
>>not at all. I disabled it because I was starting the panel manually in gdb via
>>xinit (for debugging purposes, see bug 450).
>
>
>not necessary.  with the session manager running, just kill xfce4-panel from a
>terminal and restart it in gdb.  much easier than fiddling with xinitrc.
>


Yeah of course, but I wasn't sure how long that debugging would last, so
starting the panel in gdb automatically at login seemed more convenient and
hacking xinitrc took a second. As I said, that whole *nix thing is not new to me ;-)


>>I was trying to say that when running the
>>session manager, everything works as expected, so one better should be. I only
>>noticed the behaviour we're currently discussing about when I disabled
>>xfce4-session. That remark was a bit misleading, I admit.
>
>
>yep, i understand that.  but my point is that users aren't going to run without
>the session manager anymore, and i have no desire to support those that ditch it.
>
>>Right, that was my point from the beginning (see one of the previous mails)!
>>When the session manager is running, everything appears quite
>>consistent/uniform for the user. But if you don't use it, all quit/exit
>>buttons do something different: the desktop menus button ends the desktop,
>>the panels exit button pops up the "Are you sure you wanna end this session"
>>window. And for one not knowing about the way xinit works, that is hardly
>>comprehensible.
>
>
>see above.  users don't have to know, and under normal operation, they'll never
>encounter this scenario.
>
>>So my point is: Quit/exit buttons should always do the same thing: end the
>>session, whatever way of starting up xfce you choose.
>
>
>not easily implementable for the case without a session manager, since there's
>no way of telling which app is the session-controlling one.
>
>>Otherwise they should not
>>be there or give a hint of what they're doing. In xfdesktops case there could
>>pop up a note that says s.th. like "Terminating xfdesktop. Ya sure?"
>
>
>from the menu's point of view, it doesn't know anything about the session at
>all.  the menu is designed to be a module, and it doesn't know (or care) that
>it's running as a part of xfdesktop or xfce4-panel.  it just calls a function
>that has a predetermined name and that's all the interaction it has.
>
> 
>
>>What about creating a dummy process in xinit, that does nothing than waiting
>>for it's termination when logging out? I'm just suggesting this know, without
>>thinking more deeply about it (it's getting later in Germany), so please be
>>forbearing if it turns out to be totally foolish ;-)
>
>
>ok, but then how does the user terminate this process?  have the quit buttons
>do a kill()?  that just seems messy to me.  at any rate, it's a moot point,
>because it's a waste of time, as we're not going to support the case of not
>using the session manager.  there's just no reason why you'd need to do it the
>other way.
>

It could be like a xfce4-session with no functionality at all. But no use
discussing moot things.

One last remark: if xfce4-session is so crucial for proper functionality (and
don't get me wrong: I agree session management is a must-have), you should make
it a requirement, not optional.

Good night and happy voting,

Nick.

Bug #451

Reported by:
Nikolas.Arend
Reported on: 2004-11-02
Last modified on: 2009-07-14

People

Assignee:
Brian J. Tarricone (not reading bugmail)
CC List:
0 users

Version

Attachments

Additional information