SessionHandling

Differences between revisions 7 and 8
Revision 7 as of 2011-10-14 20:34:38
Size: 3761
Editor: mpt
Comment: + bug 833290
Revision 8 as of 2011-11-14 21:31:05
Size: 5647
Editor: mpt
Comment: + bug links
Deletions are marked like this. Additions are marked like this.
Line 17: Line 17:
Bugs that this specification should describe fixes for: This specification should describe fixes for, or reasons for not fixing, each of these bugs:
Line 19: Line 19:
 * Bug Bug:855556: “Restart” and “Shut Down” don't work if anyone else is logged in
 * Bug Bug:159160: make compiz close last when shutting down
 * Bug Bug:165065: Ubuntu reboot into other OS
 * Bug Bug:269478: Choosing "Log Out"/"Shut Down" a second time hides the window
 * Bug Bug:282857: logout dialog window opened on wrong screen
 * Bug Bug:289673: close menu: allow delaying
 * Bug Bug:290851: shutdown prompt should use XIDLE
 * Bug Bug:313228: a program is still running but i want shut down anyway
 * Bug Bug:328473: System/shutdown dialog are inaccessible with Orca screen reader
 * Bug Bug:363871: Disabling user switching doesn't disable it completely
 * Bug Bug:214370: Logout/Shutdown Sound Not Working
 * Bug Bug:391559: RequestReboot() causes dialog to appear briefly
 * Bug Bug:395124: logout window appears behind other windows
 * Bug Bug:435807: Dialog buttons need mnemonics
 * Bug Bug:485740: "Log out" shortcut should focus the logout window
 * Bug Bug:540826: Rename "Suspend" to "Sleep"
 * Bug Bug:607543: Logging into already logged in user (after switching users) causes user to log out
 * Bug Bug:653860: inhibited shutdown window is not descriptive enough
 * Bug Bug:654391: No obvious way for root to cleanly shut down a session
 * Bug Bug:654577: "shut down" should at least log out (prohibited by multiple users)
 * Bug Bug:686156: shutdown conflict dialogue shows "Untitled window" in task bar
 * Bug Bug:769961: gnome-session uses Ubuntu specific branding in session name unnecessarily
 * Bug Bug:773125: gnome-session needs a default session
 * Bug Bug:855556: "Restart" and "Shut Down" don't work if anyone else is logged in
 * Bug Bug:859416: Rename GNOME Classic to GNOME Fallback & GNOME to GNOME Shell
 * Bug Bug:107672: multiple logins by same user

= Old specification =

This is an incomplete but living specification on how Ubuntu sessions should work.

As a temporary measure until ExitStrategy is implemented, there should be separate Log Out, Sleep, Hibernate, Restart, and Switch Off commands. The Log Out, Restart, and Switch Off commands should have confirmation alerts. The “Sleep” and “Switch Off” terminology should be used consistently across Ubuntu.

Packages affected: gdm, gnome-power-manager, gnome-session, indicator-session

Scope

For each of

  • {start up, log in with password, log in automatically, lock screen manually, lock screen automatically, unlock, switch user account, log out, suspend, hibernate, restart, shut down},

we should define how that function is made available (or not), looks, behaves, and fails gracefully, for

  • {a standard user account, an admin account, a guest session, a live/test-drive session}.

This specification should describe fixes for, or reasons for not fixing, each of these bugs:

  • Bug 833290: No indication that lock screen is suppressed

  • Bug 855556: “Restart” and “Shut Down” don't work if anyone else is logged in

  • Bug 159160: make compiz close last when shutting down

  • Bug 165065: Ubuntu reboot into other OS

  • Bug 269478: Choosing "Log Out"/"Shut Down" a second time hides the window

  • Bug 282857: logout dialog window opened on wrong screen

  • Bug 289673: close menu: allow delaying

  • Bug 290851: shutdown prompt should use XIDLE

  • Bug 313228: a program is still running but i want shut down anyway

  • Bug 328473: System/shutdown dialog are inaccessible with Orca screen reader

  • Bug 363871: Disabling user switching doesn't disable it completely

  • Bug 214370: Logout/Shutdown Sound Not Working

  • Bug 391559: RequestReboot() causes dialog to appear briefly

  • Bug 395124: logout window appears behind other windows

  • Bug 435807: Dialog buttons need mnemonics

  • Bug 485740: "Log out" shortcut should focus the logout window

  • Bug 540826: Rename "Suspend" to "Sleep"

  • Bug 607543: Logging into already logged in user (after switching users) causes user to log out

  • Bug 653860: inhibited shutdown window is not descriptive enough

  • Bug 654391: No obvious way for root to cleanly shut down a session

  • Bug 654577: "shut down" should at least log out (prohibited by multiple users)

  • Bug 686156: shutdown conflict dialogue shows "Untitled window" in task bar

  • Bug 769961: gnome-session uses Ubuntu specific branding in session name unnecessarily

  • Bug 773125: gnome-session needs a default session

  • Bug 855556: "Restart" and "Shut Down" don't work if anyone else is logged in

  • Bug 859416: Rename GNOME Classic to GNOME Fallback & GNOME to GNOME Shell

  • Bug 107672: multiple logins by same user

Old specification

Common alert elements

The primary action button should respond to the Enter key, and should not have any other access key. The Cancel button should respond to the Esc key, and should not have any other access key. None of the buttons should have icons.

Log Out

If updates that require a restart are waiting to be installed:

log-out-restart.jpg

The “Restart” button should have the access key R. If you do not have permission to restart without authenticating, the button label should end with an ellipsis.

Otherwise:

log-out.jpg

Restart

restart.jpg

If you do not have permission to restart without authenticating, the button label should end with an ellipsis.

Switch Off

switch-off.jpg

(The phrase “shut down” is used here in the primary text as a hint for people who are used to “shut down” from previous versions or other OSes.)

If you do not have permission to switch off without authenticating, the button label should end with an ellipsis.

When suspending or hibernating fails

There are three errors Ubuntu might receive when trying to suspend or hibernate.

Not enough swap space to hibernate

Swap space is encrypted

If you have encrypted swap but have not specified a password for the swap, you would not be able to wake from hibernate. To protect you from this, Ubuntu will not hibernate in the first place. In this case, "Hibernate" should not appear in the session menu in the first place.

In the unlikely event that Ubuntu does try to hibernate in this situation ...

Sleep has already been requested

Show nothing extra, because the sleep is happening anyway.

Implementation plan

  1. In indicator-session, implement the new alerts.

  2. In gdm, change “Suspend” to “Sleep” and “Shut Down” to “Switch Off”.

  3. In gnome-power-manager, change “Suspend” to “Sleep” and “Shutdown” [sic] to “Switch Off”.

  4. In gnome-session’s behemoth dialog, change “Suspend” to “Sleep” and “Shut Down” to “Switch Off”.

  5. In gnome-session, change “System policy prevents stopping the system when other users are logged in” to “To switch off the computer while others are logged in, you need to authenticate.” (with a period).

  6. In gnome-user-guide, change the “Ending a Session” page so that it refers to “Switch Off” instead of “Shut Down”, and has a bullet point for “Sleep” instead of wibbling about some vendors letting you suspend.

  7. Later, move the confirmation alerts from indicator-session to gnome-session.

SessionHandling (last edited 2016-01-08 12:12:56 by mpt)