linuxmint / cinnamon

A Linux desktop featuring a traditional layout, built from modern technology and introducing brand new innovative features.
GNU General Public License v2.0
4.52k stars 733 forks source link

two lock screens set when locking cinnamon 2.0 under Ubuntu #2466

Closed grrrrr closed 10 years ago

grrrrr commented 11 years ago

Following an upgrade to Cinnamon 2.0 when I manually lock my screen via ctrl+alt+l it applies two lock screens. Visually I see a new style lock screen with time and date on it. When I go to unlock it prompts me for the password and immediately drops me to the old style cinnamon 1.8 lock screen which I also have to unlock

If the lock screen activates due to inactivity / screen timeout, I get prompted with the old cinnamon 1.8 lock screen to enter my password. I then briefly see my desktop upon successful entering of my password and then the new cinnamon 2.0 lockscreen kicks in and I am forced to unlock my account again

what is happening

When manually locking or timeout locking of screen, two lock screens are being applied

What should happen

When manually locking or timeout locking of screen only one lock screen should be applied.

Also related

Bug #2457 - screen not locking on suspend.

System info:

$ uname -a
Linux hostname 3.5.0-41-generic #64~precise1-Ubuntu SMP Thu Sep 12 16:50:04 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Cinnamon info:

$ dpkg -l| grep cinnam
ii  cinnamon                                                    2.0.2-20131011040307-precise            Cinnamon desktop
ii  cinnamon-common                                             2.0.2-20131011040307-precise            Cinnamon desktop (Common data files)
ii  cinnamon-desktop-data                                       2.0.1-20131011011505-precise            Common files for Cinnamon desktop apps
ii  cinnamon-screensaver                                        2.0.0-20131011013003-precise            Cinnamon screen saver and locker
ii  cinnamon-session                                            2.0.1-20131011043004-precise            Cinnamon Session Manager - Minimal runtime
ii  cinnamon-settings-daemon                                    2.0.1-20131011004504-precise            daemon handling the Cinnamon session settings
ii  cinnamon-translations                                       2.0.1-20131011040406-precise            Translation files for the Cinnamon desktop
ii  gir1.2-cinnamondesktop-3.0                                  2.0.1-20131011011505-precise            Introspection data for CinnamonDesktop
ii  libcinnamon-desktop0                                        2.0.1-20131011011505-precise            Utility library for loading .desktop files - runtime files

PPA info

ppa:gwendal-lebihan-dev/cinnamon-stable

leigh123linux commented 11 years ago

ctrl+alt+l works as expected here

$ uname -a
Linux main-pc.home 3.11.4-301.fc20.x86_64 #1 SMP Thu Oct 10 15:09:17 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
$ rpm -qa cinnam\* |sort
cinnamon-2.0.2-1.fc20.x86_64
cinnamon-control-center-2.0.2-1.fc20.x86_64
cinnamon-control-center-devel-2.0.2-1.fc20.x86_64
cinnamon-control-center-filesystem-2.0.2-1.fc20.x86_64
cinnamon-desktop-2.0.1-1.fc20.x86_64
cinnamon-desktop-devel-2.0.1-1.fc20.x86_64
cinnamon-screensaver-2.0.0-1.fc20.x86_64
cinnamon-session-2.0.1-1.fc20.x86_64
cinnamon-settings-daemon-2.0.1-1.fc20.x86_64
cinnamon-settings-daemon-devel-2.0.1-1.fc20.x86_64
cinnamon-translations-2.0.1-1.fc20.noarch

Do you have any over screensaver packages installed?

clefebvre commented 11 years ago

Issue a reboot and check whether gnome-screensaver is installed.

grrrrr commented 10 years ago

@clefebvre it is. Can I assume given your suggested test, this should not be the case?

$ dpkg -l | grep screensaver
ii  cinnamon-screensaver                                        2.0.0-20131011013003-precise            Cinnamon screen saver and locker
ii  gnome-screensaver                                           3.4.1-0ubuntu1                          GNOME screen saver and locker
mtwebster commented 10 years ago

ps -A | grep gnome-screensaver

Is that running? It should be blocked from running by cinnamon-session.

grrrrr commented 10 years ago

@mtwebster no gnome-screensaver process is running

$ ps -aux | grep gnome-screen 
me 10183  0.0  0.3 433340 13032 ?        Sl   Oct19   0:04 /usr/bin/gnome-screensaver --no-daemon

If I turn off screen saver in the gnome system panel the double screen saver goes away and I am just left with cinnamon-screensaver. So the cinnamon install process does not know to disable and / or remove gnome-screensaver (something I believe it tried to do for 1.8 when cinnamon-screensaver was not available for Ubuntu and causes other issues).

I guess something similar is happening in #2461

grrrrr commented 10 years ago

This is resolved in Cinnamon 2.0.3.

SerCeMan commented 10 years ago

Still repeated Cinnamon 2.0.14

dtrunk90 commented 10 years ago

this happened to me days ago as well. but only twice... now it's gone without doing anything or upgrading cinnamon. i'm confused.

coiby commented 10 years ago

Still repeated for Cinnamon 2.0.14-20131203040009-raring.

Ghostbird commented 10 years ago

Issue still exists in my Cinnamon 2.0.14 from Maya backports. Note: I've circumvented the issue by uninstalling gnome-screensaver, but should I now login to a gnome session, I cannot use gnome-screensaver. I'll probably never do that, so it isn't too much of an issue for me.

quickdudley commented 10 years ago

This issue still exists in cinnamon 2.2.3 as of nightly build 2.2.3-20140425040007

Aur1s commented 10 years ago

Same problem in 2.2.3-20140429040006-trusty

macmonac commented 10 years ago

A simple way seems to remove gnome-screensaver or cinnamon-screensaver : http://askubuntu.com/questions/356992/how-do-i-disable-the-cinnamon-2-lock-screen

Regards

dtrunk90 commented 10 years ago

Confirmed. After upgrading to Ubuntu 14.04 this bug came back. Removing gnome-screensaver worked perfectly.

mtl commented 10 years ago

I'm having this issue on Ubuntu 14.04 with the cinnamon nightly and don't want to remove gnome-screensaver and leave non-cinnamon users without it.

marga-google commented 10 years ago

I'm in the same boat, whatever cinnamon-session is doing in order to block gnome-screensaver, it's not working. I'm running cinnamon 2.2.13, cinnamon-session 2.2.1.

mtwebster commented 10 years ago

I've figured out why this is happening again. Unfortunately, I don't have a ready fix yet, we're discussing it.

I can tell you that if you're keeping gnome-screensaver just for Unity, don't bother - it never runs in a Unity session. All it does is provide a fallback screensaver in case you're not running Unity (unity provides this service itself).

I'm not sure what other DE's still use gnome-screensaver full-time. It could be simply removing or renaming the file /usr/share/dbus-1/services/org.gnome.ScreenSaver.service will be a safe workaround - the package is still installed, and can and probably will be started via .desktop autostart method or other means, and the only thing potentially affected is some sort of broken Unity session where Unity has stopped providing its own screensaver service.

marga-google commented 10 years ago

How about GNOME? Yes, even if you find this hard to believe, lots of people still use GNOME :).

In my case, I traced this down to /etc/xdg/autostart/indicator-session.desktop, part of the indicator-session package. This is the content:


[Desktop Entry] Type=Application Name=Indicator Session Exec=/usr/lib/x86_64-linux-gnu/indicator-session/indicator-session-service OnlyShowIn=Unity;GNOME; NoDisplay=true StartupNotify=false Terminal=false AutostartCondition=GNOME3 unless-session gnome X-Ubuntu-Gettext-Domain=indicator-session


I'm not sure why it's starting in cinnamon as well when it says "Unity;GNOME", but if I remove this .desktop from the autostart folder, then gnome-screensaver doesn't start. Also, if in a session without gnome-screensaver, I run this, gnome-screensaver starts. I've looked at the code and it has org.gnome.ScreenSaver hardcoded. So, I believe this needs to be stopped from starting in Cinnamon.

BTW, the way the Unity devs dealt with the equivalent issue (which was present in the beta versions of Trusty) was by making their code pretend to be GNOME Session and GNOME ScreenSaver: https://code.launchpad.net/~robert-ancell/unity-greeter/screensaver/+merge/214470

leigh123linux commented 10 years ago

@margamanterola

BTW, the way the Unity devs dealt with the equivalent issue (which was present in the beta versions of Trusty) was by making their code pretend to be GNOME Session and GNOME ScreenSaver:
https://code.launchpad.net/~robert-ancell/unity-greeter/screensaver/+merge/214470

So the wankers at ubuntu break it and you expect the cinnamon devs to fix it.

leigh123linux commented 10 years ago

Try running this command to see if it helps

gsettings set org.cinnamon.SessionManager blacklist "['nautilus-autostart', 'caja', 'indicator-session']"
marga-google commented 10 years ago

I just mentioned the way Unity devs had dealt with the general issue, which is: programs out there that tell dbus that they want to talk with org.gnome.ScreenSaver. I don't like their solution, but I thought it was interesting to state it. Your aggressive language was totally unneeded.

In any case, yes, blacklisting indicator-session with the gsettings command worked for me (i.e. I put the autostart file back where it was, and gnome-screensaver didn't start when I started the session).

Can this item be added to the default blacklist, given that it's a package installed by default in ubuntu?

I guess this solution would be good enough. Other people might have other programs installed that also talk to the hardcoded name of the screensaver, and they will need to blacklist those as well.

Is there a freedesktop way of telling dbus "Connect me to whichever screensaver is registered with you" ? If there is one, programs like indicator-session should use that instead of the hardcoded name.

clefebvre commented 10 years ago

"even if you find this hard to believe, lots of people still use GNOME" "the wankers at ubuntu break it"

Wow.. easy guys!!

Good find @margamanterola. Now that we know the cause we've a workaround and we can address the situation.

There's a pull from @leigh123linux to blacklist indicator-session. I'm sure it does the trick. There's also a pending discussion within the team as to whether or not it's a good idea to use org.gnome.ScreenSaver rather than org.cinnamon.ScreenSaver.

I have to admit I'm not seduced by the idea... but if helps with compatibility, it deserves to be looked at.

For information indicator-session launches in Cinnamon because we enable GNOME autostart conditions in cinnamon-session (we even use the same dbus interface to keep compatibility with the many apps out there where this is hardcoded). So for instance "GNOME3 unless-session gnome" is true in GNOME fallback, in Unity and in Cinnamon.

Ideally applications wouldn't interact with the screensaver but with the session, and not even directly with the DE session manager, but with generic technologies such as consolekit or logind. In practice, whenever we get close to screensavers, locks and display managers, absolutely everything out there is hardcoded.

mtl commented 10 years ago

Thanks for the effort on this, everyone. leigh123linux, the command to blacklist indicator-session fixed this problem for me. However, the problem still occurs when switching user from the Cinnamon lock screen. When I click "Switch User" it kicks me back to the greeter, then after I log back in as the same user I am presented with two lock screens (the Cinnamon one comes first). This means I need to type my password 3 times to get back in via switch user. According to apt this is cinnamon 2.2.13-20140610040007-trusty.

Sorry, I spoke too soon. Blacklisting indicator-session seems to resolve the dual unlock screen issue but only for a quick lock-unlock cycle to test it. If I lock the screen and walk away for a while, when I come back I have to authenticate through both unlock screens. Maybe this is where the auto-lock timer comes in to play (thought I read something about that in another bug report).

jglover commented 10 years ago

Is there a way to remove this from the blacklist? tried using dconf editor but no luck. I've decided I'd prefer to disable the cinnamon lock screen and use the default ubuntu (gnome?) lock screen.

leigh123linux commented 10 years ago

@jglover

Not unless you rebuild the source

https://github.com/linuxmint/cinnamon-session/commit/b142e95705d7fdf19db7f311d9daeecfed7d9cb7

carloabelli commented 9 years ago

Getting this issue on Arch running Cinnamon 2.6.13. gnome-screensaver is not installed:

$ pacman -Qqn | grep screensaver
cinnamon-screensaver

The gnome packages that are installed are:

$ pacman -Qqn | grep gnome      
gnome-backgrounds
gnome-bluetooth
gnome-chess
gnome-icon-theme
gnome-icon-theme-symbolic
gnome-keyring
gnome-mines
gnome-screenshot
gnome-sudoku
gnome-system-monitor
gnome-themes-standard
libgnome-keyring
libgnomekbd
polkit-gnome
leigh123linux commented 9 years ago

@cabellicar123

post

ps -a |grep screen
carloabelli commented 9 years ago
$ ps -A | grep screen
  757 ?        00:00:00 cinnamon-screen
carloabelli commented 9 years ago

Here is some more info. It's a bit strange.

$ ps -A | grep cinnamon
  511 ?        00:00:00 cinnamon-sessio
  552 ?        00:00:02 cinnamon-settin
  602 ?        00:00:00 cinnamon-launch
  611 ?        00:08:52 cinnamon
  619 ?        00:00:00 cinnamon-killer
  725 ?        00:00:01 cinnamon-screen
$ ps -A | grep gnome
  509 ?        00:00:00 gnome-keyring-d
  620 ?        00:00:00 polkit-gnome-au
  5690 ?        00:00:00 gnome-pty-helpe
  7564 ?        00:00:00 gnome-pty-helpe

Setting org.cinnamon.desktop.lockdown.disable-lock-screen to true appeared to disable both lock screen on a test. Resetting that to the default in dconf editor appears to have "fixed" the issue (at least for now), so that I now only get one lock screen.

carloabelli commented 9 years ago

As suspected this was only a temporary fix. Something else is going on.

richardklint commented 8 years ago

This is still happening to me. Recenly, when it auto locks the screen after the set time, first I have to login to the GNOME lock screen then the Cinnamon lock screen.

Using the following versions:

$ cinnamon --version
Cinnamon 2.6.12

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.3 LTS
Release:    14.04
Codename:   trusty
SerCeMan commented 8 years ago

Same issue after latest update:

serce@SerCe:~/tmp$ cinnamon --version
Cinnamon 2.6.12
serce@SerCe:~/tmp$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.3 LTS
Release:    14.04
Codename:   trusty
JosephMcc commented 8 years ago

This should actually be fixed now in the latest git version of cinnamon.

carloabelli commented 8 years ago

Having the same issue as before continuing into 2.8.7. I have noticed that with these settings:

Turn off the screen when inactive for - 5 min Suspend when inactive for - 5 min Lock the computer when inactive - 5 min

the problem occurs; however, with these settings:

Turn off the screen when inactive for - 5 min Suspend when inactive for - 10 min Lock the computer when inactive - 5 min

the issue seems to disappear. It only occurs when my laptop is allowed to suspend due to inactivity and not due to closing the lid. Perhaps for some reason suspending while the screen is locking is causing two screen lock signals to be sent or something?

Zorlin commented 6 years ago

Still happening to me.

wings@wings:~$ cinnamon --version
Cinnamon 3.6.2
wings@wings:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:    16.04
Codename:   xenial

Locking the screen normally is fine, but idle timeout causes double lockscreens, as well as leaving for a few mins with it locked.

FWIW, I'm running Cinnamon from this ppa: https://launchpad.net/~embrosyn/+archive/ubuntu/cinnamon

apalazzi commented 6 years ago

I'm having the same issue on a freshly installed ubuntu:

andrea@navicella:~$ cinnamon --version
Cinnamon 3.4.6
andrea@navicella:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 17.10
Release:    17.10
Codename:   artful
andrea@navicella:~$ ps -A |grep screen
 1361 ?        00:00:00 csd-screensaver
 1717 ?        00:00:06 cinnamon-screen
14893 ?        00:00:02 gnome-screensav
InsaneJ commented 5 years ago

I've installed Cinnamon on Ubuntu 18.04 and am getting the same issue.

insanej@Clara-21:~$ cinnamon --version Cinnamon 3.6.7 insanej@Clara-21:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.1 LTS Release: 18.04 Codename: bionic insanej@Clara-21:~$ ps -A | grep screen 1813 ? 00:00:01 csd-screensaver 2320 ? 00:00:04 gnome-screensav 2334 ? 00:00:11 cinnamon-screen