[FFe] Unity Greeter - Use Unity Greeter to fulfil lock screen as well as login functions

Reported by John Lea on 2011-10-20
242
This bug affects 45 people
Affects Status Importance Assigned to Milestone
Ayatana Design
High
Mika Meskanen
Light Display Manager
High
Unassigned
Session Menu
High
Robert Ancell
Unity
High
Andrea Azzarone
gnome-screensaver (Ubuntu)
Low
Robert Ancell
indicator-session (Ubuntu)
High
Unassigned
Precise
High
Unassigned
lightdm (Ubuntu)
High
Robert Ancell
unity (Ubuntu)
Undecided
Unassigned
unity-greeter (Ubuntu)
High
Robert Ancell

Bug Description

Use Unity Greeter to fulfil lock screen as well as login functions.

Desired Solution:
- Replace the current lock screen with the Unity Greeter
- perhaps use 'light locker', see http://www.webupd8.org/2013/08/lightdm-session-locker-light-locker.html
- also see https://plus.google.com/u/0/106086509626546157534/posts/5hQVYARYCkh

[FFe]
This is a FFe to implement in unity a lockscreen that looks like unity-greeter inside unity.

The code for unity was ready before FF, but to improve PAM support we had to delay it
See more at https://code.launchpad.net/~andyrock/unity/lockscreen/+merge/206291

Related branches

lp:~andyrock/unity/lockscreen
Merged into lp:unity at revision 3703
Marco Trevisan (Treviño): Approve on 2014-03-10
PS Jenkins bot: Approve (continuous-integration) on 2014-03-07
Robert Ancell: Approve on 2014-02-25
Sebastien Bacher: Needs Information on 2014-02-25
lp:~3v1n0/unity/lockscreen-review
Merged into lp:unity at revision 3703
Andrea Azzarone: Needs Fixing on 2014-03-07
Brandon Schaefer: Approve on 2014-03-07
PS Jenkins bot: Needs Fixing (continuous-integration) on 2014-03-06
lp:~3v1n0/unity/lockscreen-panel
Merged into lp:unity at revision 3705
PS Jenkins bot: Needs Fixing (continuous-integration) on 2014-03-11
Andrea Azzarone: Approve on 2014-03-07
Brandon Schaefer: Approve on 2014-03-07
John Lea (johnlea) on 2011-10-20
Changed in ayatana-design:
assignee: nobody → Mika Meskanen (mesq)
importance: Undecided → Critical
tags: added: udp
Changed in ayatana-design:
status: New → Triaged
Changed in unity-greeter:
status: New → Confirmed
Changed in unity-greeter (Ubuntu):
status: New → Confirmed
Changed in unity-greeter:
status: Confirmed → Triaged
Changed in unity-greeter (Ubuntu):
status: Confirmed → Triaged
Changed in unity-greeter:
importance: Undecided → High
Changed in unity-greeter (Ubuntu):
importance: Undecided → High
Robert Ancell (robert-ancell) wrote :

This still needs a final design for how it will differ from the standard lock screen. The functionality can be implemented without this (assuming the design wont do much more than hide the user list).

confiq (confiq) wrote :

Please notice that some people are using double screen with nvidia drivers.... :)

Robert Ancell (robert-ancell) wrote :

We've got three tasks here:
 - gnome-screensaver needs to switch to the greeter when it locks.
 - LightDM needs to provide a new D-Bus method to lock the screen and hint to the greeter that it is in lock mode
 - Unity Greeter needs to render differently

Changed in lightdm (Ubuntu):
status: New → Triaged
Changed in gnome-screensaver (Ubuntu):
status: New → Triaged
importance: Undecided → Medium
Changed in lightdm (Ubuntu):
importance: Undecided → High
Changed in gnome-screensaver (Ubuntu):
importance: Medium → High
Changed in lightdm:
status: New → In Progress
assignee: nobody → Robert Ancell (robert-ancell)
importance: Undecided → High
Robert Ancell (robert-ancell) wrote :

Was just about to upload the gnome-screensaver fix and then I realised it doesn't work in this case:
When you switch users (e.g. to guest) indicator-session locks the screen then does the switch. With this change this causes lightdm to both start a greeter and a new session. I think the correct fix is for indicator-session to not attempt the lock when running under lightdm and get the lightdm daemon to always lock sessions when switching away from them.

Robert Ancell (robert-ancell) wrote :

Merge proposal to stop indicator-session from locking the screen on switches lp:~robert-ancell/indicator-session/dont-lock-on-switch

Gunnar Hjalmarsson (gunnarhj) wrote :

On 2012-02-10 08:42, Robert Ancell wrote:
> Merge proposal to stop indicator-session from locking the screen on
> switches lp:~robert-ancell/indicator-session/dont-lock-on-switch

Saw that it was approved yesterday. Was a little surprised, because last Tuesday Ted changed the status of bug #636693 to "Won't Fix".

Any chance that your change can be SRUed to Natty?

Conor Curran (cjcurran) on 2012-02-14
Changed in indicator-session:
status: New → Fix Committed
importance: Undecided → High
assignee: nobody → Robert Ancell (robert-ancell)
milestone: none → 0.3.91
Conor Curran (cjcurran) on 2012-02-14
Changed in indicator-session:
status: Fix Committed → Fix Released
Sebastien Bacher (seb128) wrote :

Ok Robert, your indicator-session patch got accepted and merged, I backported that and uploaded to precise, I uploaded gnome-screensaver as well so we are in before feature freeze, worth noting is:

- the on locking the greeter doesn't select your user, it seems logic it would, could be an unity-greeter bug

- when switching users with indicator-session (i.e pick guest session) you can vt switch back to your session, so there is a case where locking doesn't happen as it should

- otherwise seems to work fine here

Gunnar, due to the second issue I don't think it's a good idea to backport that patch in the current state

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-screensaver - 3.2.0-1ubuntu11

---------------
gnome-screensaver (3.2.0-1ubuntu11) precise; urgency=low

  [ Robert Ancell ]
  * debian/patches/26_lightdm_greeter_on_lock.patch:
    - Switch to the LightDM greeter when locking the screen (LP: #878836)

  [ Colin Watson ]
  * debian/control.in:
    - Add Pre-Depends: ${misc:Pre-Depends} for dpkg-maintscript-helper.
 -- Sebastien Bacher <email address hidden> Tue, 14 Feb 2012 18:52:50 +0100

Changed in gnome-screensaver (Ubuntu):
status: Triaged → Fix Released
Sebastien Bacher (seb128) wrote :

indicator-session (0.3.91-0ubuntu1) precise; urgency=low

  * Backport "Don't lock the session when switching to another one"
    work from Robert Ancell, the screen locking is already done by
    consolekit and enforcing it there is problematic to i.e use the
    lightdm greeter as a lock screen (lp: #878836)
  * debian/control:
    - recommends python-aptdaemon.pkcompat so packagekit doesn't get installed
  * debian/source/format:
    - use v1, v3 doesn't play nicely with vcs backports

  [ Ken VanDine ]
  * New upstream release. (lp: #903756)
  * debian/control
    - added new build depends on libpackagekit-glib2-dev

Changed in indicator-session (Ubuntu):
importance: Undecided → High
status: New → Fix Released
John Lea (johnlea) wrote :

@cjcurran, @robert-ancell; Great to see this land in P ;-) many thanks!

Gunnar Hjalmarsson (gunnarhj) wrote :

On 2012-02-14 19:03, Sebastien Bacher wrote:
> - when switching users with indicator-session (i.e pick guest
> session) you can vt switch back to your session, so there is a case
> where locking doesn't happen as it should
> ...
> Gunnar, due to the second issue I don't think it's a good idea to
> backport that patch in the current state

Ok. Guess I'm a little frustrated since
https://code.launchpad.net/~gunnarhj/indicator-session/bug-636693
was turned down, but it's probably history now...

Martin Pitt (pitti) wrote :

I'm afraid I have to veto this. It's way too premature to land this in precise.

On the proprietary graphics drivers, VT switching is inherently unstable and causes lots of flickering due to them not doing KMS. Also, starting multiple user sessions at once (which is what this comes down to) has never really worked reliably on NVidia, and it's just plain broken on many (most?) machines. So far people have learned to not do user switching, but log out and back in. This forces the bug upon every NVidia user now, so as soon as the screen saver kicks in, you probably just have to reboot, losing all your session state.

On systems with multiple monitors (all drivers) the current packages do not maintain the XRandR configuration from the user session, but switch back to the X.org defaults. This causes a lot of flickering, destroys the monitor configuration (wrong resolution, re-enabling monitors you previously disabled, etc.), and thus looks quite hideous and also is very slow. Most monitors I've seen take a few seconds to get back to their senses after an xrandr switch, and our Samsung 24" takes about 20 seconds.

Please revert this. I'm afraid it still needs a lot of groundwork on both drivers and the XRandR handling before we can land this :-(

Martin Pitt (pitti) wrote :

  * Backport "Don't lock the session when switching to another one"
    work from Robert Ancell, the screen locking is already done by
    consolekit and enforcing it there is problematic to i.e use the
    lightdm greeter as a lock screen (lp: #878836)

This introduces a regression: If you switch to another session, the original one now does not get locked any more. You can switch to it with Ctrl+Alt+F7 without having to enter any password. There is nothing else that would do that for you, ConsoleKit does not "do" any screen locking.

I also don't understand why it's necessary in the first place. Before these two changes, lightdm unlocked the screensaver just fine when using the greeter to switch back to the session.

Martin Pitt (pitti) wrote :

I was told that the next version of lightdm does the locking instead of the indicator. This still breaks with other DMs such as gdm, kdm, etc.

Sebastien Bacher (seb128) wrote :

@pitti: comment #13, right that's "known", cf comment #9, for the record as mentioned on IRC the upload was rather to give it a try and build a list of issues, things that need to be worked which will be useful to get the feature in shape later, I don't think we will stick to it for precise either

marc has been looking at it yesterday and out of the vt switching he pointed that it would create issues with the user session being unactivate after the vt switch (i.e audio would stop on idle locking) and the fact that greeter doesn't respect user settings

Martin Pitt (pitti) wrote :

Disabling the gnome-screensaver part for now.

gnome-screensaver (3.2.0-1ubuntu12) precise; urgency=low

  * Disable 26_lightdm_greeter_on_lock.patch for now. VT switches/multiple
    heads are FUBAR on NVidia, and as long as the new greeter X.org
    reconfigures XRandR this introduces lots of flickering and long delays.
    See #878836 comment 12 ff.

 -- Martin Pitt <email address hidden> Wed, 15 Feb 2012 11:02:02 +0100

The indicator-session change can stay, as long as we'll get a corresponding lightdm which does the screen locking (that's already in trunk as far as I understand).

Changed in gnome-screensaver (Ubuntu Precise):
status: Fix Released → Won't Fix
Changed in gnome-screensaver (Ubuntu):
importance: High → Low
status: Fix Released → Triaged
Changed in lightdm (Ubuntu Precise):
assignee: nobody → Robert Ancell (robert-ancell)
milestone: none → ubuntu-12.04-beta-1

@Sebastien "...it would create issues with the user session being unactivate after the vt switch (i.e audio would stop on idle locking)..." Would that explain why my alarm-clock-applet didn't go off this morning until I logged back in? If so, then I'm guessing that's a known issue and I might not have to file a bug for it, then.

Sebastien Bacher (seb128) wrote :

@Christopher: if you had the updates from yesterday and locked to the greeter screen it was likely the issue yes

John Lea (johnlea) on 2012-02-20
Changed in ayatana-design:
importance: Critical → High
Martin Pitt (pitti) on 2012-03-02
Changed in lightdm (Ubuntu):
milestone: ubuntu-12.04-beta-1 → ubuntu-12.04-beta-2
Robert Ancell (robert-ancell) wrote :

Some work on getting gnome-screensaver to look like Unity Greeter. Based on the git master version.

You can test with ./src/test-window.

It shows we can get GNOME screensaver looking pretty close to U-G, but is probably going to be too late for this cycle. To do:
- It should test if running inside Unity and only use this patch if so
- Not sure if it will behave correctly with multi-monitor
- No indicators
- No keyboard layout (gnome-screensaver layout code could be represented in the indicators?)
- The switch button looks pretty ugly, it's just based on an old mockup for U-G
- No logo on background

Robert Ancell (robert-ancell) wrote :

Attached a very poor quality photo of the lock screen with this patch (it doesn't allow screen grabbing).

tags: added: patch
John Lea (johnlea) wrote :

@robert-ancell; does this solution give us the identical user switching and indicator functionality to the login screen e.g. different backend but same user experience? Having the same UX for both the login and lock screens is the target we want to aim for.

tags: added: rls-mgr-p-tracking
Robert Ancell (robert-ancell) wrote :

@johnlea - no its a complete hack to make gnome-screensaver looks like U-G. So there are no indicators, and the '<' button is the equivalent of selecting "switch user" in a session, i.e. it switches you to the actual unity-greeter. It's a plan B option as we can't do the proper switching reliably.

John Lea (johnlea) wrote :

@robert-ancell; for 12.10 can we go back to the original non-hack solution (and make this one of the major Unity Greeter features for the 12.10 the cycle)?.

Martin Pitt (pitti) wrote :

Does that allow switching users or the keyboard layout? Neither of those are in the screen shot.

Changed in lightdm (Ubuntu Precise):
importance: High → Wishlist
milestone: ubuntu-12.04-beta-2 → none
Martin Pitt (pitti) wrote :

The part to use lightdm for screen locking is not for precise, closing precise task (will keep the floating task open for Q).

Changed in unity-greeter (Ubuntu Precise):
status: Triaged → Won't Fix
Martin Pitt (pitti) wrote :

Ah, same for lightdm. The hack that Robert mentioned is against gnome-screensaver.

Changed in lightdm (Ubuntu Precise):
importance: Wishlist → High
status: Triaged → Won't Fix
Martin Pitt (pitti) wrote :

Reopening g-screensaver precise task as wishlist for considering the hack.

Changed in gnome-screensaver (Ubuntu Precise):
importance: High → Wishlist
status: Won't Fix → Triaged
Robert Ancell (robert-ancell) wrote :

@johnlea, yes, we still want to aim for a proper solution in Q or later. Note that it's not really blocked by unity-greeter or lightdm; the issue is the video stack being able to a) reliably switch between VTs and b) do in a timely fashion.

@pitti, yes, the keyboard issue is listed in the problems with the patch as it stands.

Martin Pitt (pitti) on 2012-04-13
tags: removed: rls-mgr-p-tracking

The attachment "0001-Make-gnome-screensaver-look-like-Unity-Greeter.patch" of this bug report has been identified as being a patch. The ubuntu-reviewers team has been subscribed to the bug report so that they can review the patch. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-reviewers team please also unsubscribe the team from this bug report.

[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]

Changed in gnome-screensaver (Ubuntu Precise):
status: Triaged → Won't Fix
John Lea (johnlea) on 2012-08-08
Changed in ayatana-design:
status: Triaged → Fix Committed
Michael Terry (mterry) on 2012-10-02
Changed in unity-greeter (Ubuntu):
assignee: nobody → Robert Ancell (robert-ancell)
Changed in unity-greeter:
assignee: nobody → Robert Ancell (robert-ancell)
Changed in gnome-screensaver (Ubuntu):
assignee: nobody → Robert Ancell (robert-ancell)
no longer affects: gnome-screensaver (Ubuntu Precise)
no longer affects: unity-greeter (Ubuntu Precise)
no longer affects: lightdm (Ubuntu Precise)

The GNOME developers managed to integrate a similar feature in GNOME 3.6 (when using GNOME Shell with GDM) without doing a VT switch. I believe gnome-screensaver can now be considered deprecated so we should look into this more now.

kedmond (kedmond) wrote :

Dumb question: Is there a solution to this bug?

Changed in lightdm:
status: In Progress → Triaged
assignee: Robert Ancell (robert-ancell) → nobody
Bib (bybeu) wrote :

Using a weak machine I have 12.04.2 and classic-shell without effects (because of a jurassic vino bug). I've read this 878836 bug but not sure what to understand. I have not GDM installed so I think I use LightDM + Unity-greeter, and see gnome-screensaver is installed (3.4).
Can I have the lock background the same as login background (which I've already unbound from users' personnal desktop wallpapers to a "machine" static one)

Thank you for ubuntu

Perhaps Light Locker could be considered as a possible solution?
http://www.webupd8.org/2013/07/light-locker-new-session-locker-for.html

John Lea (johnlea) on 2013-08-29
description: updated
description: updated
no longer affects: unity-greeter
tags: added: ubuntu-desktop-trusty

This bug is still active since Oneiric, it should be fixed by now...
There were videos about this feature during the developement of Precise.
The gnome-screensaver is uglier than the current unity-greeter, why can't we use it as a lock screen?

Matthew Paul Thomas (mpt) wrote :

When you're at the lock screen, sound keeps playing as it should. And the microphone and camera keep working as they should. It would be a pain if a Skype call, for example, was effectively cut off just because the screen saver momentarily came on. Any accessibility options you were using during the session should also be in effect at the lock screen, because it's your session that you're unlocking, and ignoring them would be gratuitously annoying. And on Touch, apps like the camera may be available in a limited way at the lock screen, and when they are, they should store data for you and not for any other user.

When you're at the login screen, on the other hand, sound output is cut off as it should be. The microphone and camera should also no longer receive input. Any accessibility configuration should be system-wide, because it's not necessarily you who is logging in. And on Touch, apps that store data can be available only if there is one user account. (In theory you could select a user and then launch an app before logging in, but selecting a user already prompts you to log in and may even log you in automatically, so there's barely any point.)

This makes the greeter fundamentally different from the lock screen in many non-visual ways. So the answer to your question, Bence, is that this feature was not completely designed. For a long time it was treated as merely a visual design problem, without these other issues being tackled.

summary: - Unity Greeter - Use Unity Greeter to fulfil lock screen as well as login
- functions
+ [FFe] Unity Greeter - Use Unity Greeter to fulfil lock screen as well as
+ login functions
description: updated
Stephen M. Webb (bregma) on 2014-02-20
no longer affects: unity (Ubuntu)
Changed in unity:
status: New → In Progress
assignee: nobody → Andrea Azzarone (andyrock)
importance: Undecided → High
milestone: none → 7.2.0
description: updated
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-screensaver - 3.6.1-0ubuntu10

---------------
gnome-screensaver (3.6.1-0ubuntu10) trusty; urgency=medium

  * debian/patches/33_unity_lockscreen_on_lock.patch:
    - use unity lockscreen to lock when available (LP: #878836)
 -- Marco Trevisan (Trevino) <email address hidden> Mon, 10 Mar 2014 18:40:49 +0100

Changed in gnome-screensaver (Ubuntu):
status: Triaged → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity - 7.1.2+14.04.20140311-0ubuntu1

---------------
unity (7.1.2+14.04.20140311-0ubuntu1) trusty; urgency=low

  [ CI bot ]
  * Lockscreen: Multimonitor support, use greeter settings and don't
    paint popup windows In detail:  - Use proper fonts for text input  -
    Make text cursor to blink as expected (needs
    lp:~3v1n0/nux/textentry-toggle-cursor-visibility)  - Use bullet as
    password char  - Support multi-monitor correctly, switching view on
    mouse movement (as the greeter does)  - Fixed lockscreen not showing
    on newly attached monitors  - Never paint windows that might popup
    under the lockscreen (such as tooltips or notifications)  - Use
    unity greeter gsettings values for painting the Background (support
    color, or disable user bg)  - Don't lock guest sessions

  [ Stephen M. Webb ]
  * Bump Nux build-dep to 4.0.6 for ABI change.

  [ Andrea Azzarone ]
  * Implement the lockscreen in Unity that looks like unity-greeter.
    Also allow to fallback to lightdm + greeter (tty switching) in case
    you need more pam power. (LP: #878836)

  [ Marco Trevisan (Treviño) ]
  * LockScreenPanel: added a light version of PanelView for Lockscreen
    only, using PanelIndicatorsView - Indicators scrubbing using mouse
    works again - Indicators key navigation is supported (Alt+F10
    included) - Indicators will be correctly visible in light themes as
    well - Show hostname (optionally) on the top left side of the panel
    - LockScreenSettings now bind settings from unity-greeter dconf path
 -- Ubuntu daily release <email address hidden> Tue, 11 Mar 2014 18:37:36 +0000

Changed in unity (Ubuntu):
status: New → Fix Released
tags: removed: ubuntu-desktop-trusty
Changed in unity:
status: In Progress → Fix Committed
Rocko (rockorequin) wrote :

Is there a setting available that lets the user disable this? It has a nasty regression in that the new screen locker disables the screen power down (ref https://bugs.launchpad.net/unity/+bug/1292041) so I'd rather use the old screen locker until this regression is fixed.

Stephen M. Webb (bregma) wrote :

Fix Released in Unity Unity 7.2.0.

Changed in unity:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers