Description of the issue:

I'm stuck in a login loop with Ubuntu 18.04 64 bit (4.15.0-46-generic x86_64 GNU/Linux) when I try to login with "Unity (default)" (installed after: https://linuxconfig.org/how-to-install-unity-desktop-on-ubuntu-18-04-bionic-beaver-linux ). Everything was fine before installing/messing with libprotobuf10/15 from a third party PPA (nextgis: https://launchpad.net/~nextgis/+archive/ubuntu/ppa?field.series_filter=bionic ).

What I've tried:

None of the answers here helped: Ubuntu gets stuck in a login loop

Graphic drivers:

I don't have any third party graphic drivers like NVidia or AMD;

$ sudo lshw -c video
       description: VGA compatible controller
       product: HD Graphics 5500
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 09
       width: 64 bits
       clock: 33MHz
       capabilities: msi pm vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:45 memory:f0000000-f0ffffff memory:e0000000-efffffff ioport:3000(size=64) memory:c0000-dffff

What I've done:

I thought unity was corrupted after installing python3-protobuf from nextgis PPA: libprotobuf15 install prompt for removing system packages but after deactivating this PPA, apt-get update and reinstalling ubuntu-unity-desktop and the official python3-protobuf the problem is still there;

$ sudo apt-cache policy ubuntu-unity-desktop
  Installed: 0.1
  Candidate: 0.1
  Version table:
 *** 0.1 500
        500 http://ch.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
        100 /var/lib/dpkg/status

$ sudo apt-cache policy python3-protobuf
  Installed: 3.0.0-9.1ubuntu1
  Candidate: 3.0.0-9.1ubuntu1
  Version table:
 *** 3.0.0-9.1ubuntu1 500
        500 http://ch.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
        100 /var/lib/dpkg/status

I also tried removing .Xauthority and .ICEauthority as well as re-configuring lightdm:

$ sudo dpkg-reconfigure lightdm    

but none of them worked.

I precise I can login with gnome without any problems, but with unity, my screen gets black a few seconds and then I'm facing the session login screen again.


How to recover the unity session?

More informations:

This may help:

the last line of file .xsession-errors:

A dependency job for unity-session.target failed. See 'journalctl -xe' for details.

And these lines in the output of the journalctl -xe command I ran just after the buggy login with unity are probably telling us there is something wrong with lightdm authentication:

mar 25 11:26:57 username-laptop-1804 lightdm[5441]: PAM unable to dlopen(pam_kwallet.so): /lib/security/pam_kwallet.so: cannot open shared object file: No such file or directory
mar 25 11:26:57 username-laptop-1804 lightdm[5441]: PAM adding faulty module: pam_kwallet.so
mar 25 11:26:57 username-laptop-1804 lightdm[5441]: PAM unable to dlopen(pam_kwallet5.so): /lib/security/pam_kwallet5.so: cannot open shared object file: No such file or directory
mar 25 11:26:57 username-laptop-1804 lightdm[5441]: PAM adding faulty module: pam_kwallet5.so
mar 25 11:26:57 username-laptop-1804 lightdm[5441]: pam_succeed_if(lightdm:auth): requirement "user ingroup nopasswdlogin" not met by user "username"
mar 25 11:27:02 username-laptop-1804 systemd-logind[776]: Removed session c6.
-- Subject: Session c6 has been terminated

Some of the dmesg outputs after 1 unsuccessful login with unity:

$ dmesg | grep -i "warn\|err\|lightdm\|unity"
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.045146] ACPI: EC: interrupt blocked
[    0.061268] ACPI Error: Needed type [Reference], found [Integer]         (ptrval) (20170831/exresop-103)
[    0.061300] ACPI Error: Method parse/execution failed \_PR.CPU0._PDC, AE_AML_OPERAND_TYPE (20170831/psparse-550)
[    0.063508] ACPI: Using IOAPIC for interrupt routing
[    0.072809] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 9 10 *11)
[    0.072923] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 *9 10 11)
[    0.073033] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 9 *10 11)
[    0.073143] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 *6 7 9 10 11)
[    0.073252] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 9 10 *11)
[    0.073334] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 9 10 11) *0, disabled.
[    0.073444] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 9 *10 11)
[    0.073553] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 *7 9 10 11)
[    0.101434] ACPI: EC: interrupt unblocked
[    3.588547] RAS: Correctable Errors collector initialized.
[    6.937212] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[   10.673768] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro
[   10.857401] random: 7 urandom warning(s) missed due to ratelimiting
[   12.282650] audit: type=1400 audit(1553512054.380:10): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/lightdm/lightdm-guest-session" pid=603 comm="apparmor_parser"
[   12.282653] audit: type=1400 audit(1553512054.380:11): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/lightdm/lightdm-guest-session//chromium" pid=603 comm="apparmor_parser"

One more thing; there is not differences between the output of dmesg before trying to login (I output $ dmesg > dmesg0.txt before), and after the unsuccessful try with unity (I output $ dmesg > dmesg1.txt after).

$ diff dmesg0.txt dmesg1.txt     

gives me no extra information.

One more piece of information; the result of the command unity --debug when run from the CLI before starting any session at the greeter:

/usr/lib/x86_64-linux-gnu/unity/compiz-config-profile-setter: error while loading shared libraries: libprotobuf.so.10: cannot open shared object file: No such file or directory
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
/usr/bin/compiz (core) - Info: Loading plugin: core
/usr/bin/compiz (core) - Info: Starting plugin: core
[New Thread 0x7ffff3118700 (LWP 12410)]
Invalid MIT-MAGIC-COOKIE-1 key/usr/bin/compiz (core) - Fatal: Couldn't open display :0
/usr/bin/compiz (core) - Info: Stopping plugin: core
/usr/bin/compiz (core) - Info: Unloading plugin: core
[Thread 0x7ffff3118700 (LWP 12410) exited]
[Inferior 1 (process 12406) exited with code 01]
No stack.
WARNING: no DISPLAY variable set, setting it to :0
  • if you press tab durring boot to switch from graphical boot logo to boot text what text are you having? it may be going by fast so you may have to take a picture of your screen with a phone or a camera. – tatsu Mar 25 at 10:30
  • When I hit <kbd>tab</kbd> during boot nothing extra happens. During a few miliseconds a line with: Linux: clean, X/Y files, A/B blocks appears, as always (with X, Y, A and B huge numbers). I'm investigating to hit an other key during boot. – s.k Mar 25 at 10:47
  • 1
    try with this method : askubuntu.com/a/25024/307184 – tatsu Mar 25 at 11:03
  • 1
    Already done, but these messages are the ones captured by dmesg aren't they? So now the question is, what to grep? I "greped" some keywords after 1 try of unsuccessful login on unity. Added the output to the main post. – s.k Mar 25 at 11:06
  • update: there is no differences between dmesg's outputs before and after trying to login with unity. – s.k Mar 25 at 11:36

I finally succeeded.
The good clue was this error from the unity --debug command I mentionned:

/usr/lib/x86_64-linux-gnu/unity/compiz-config-profile-setter: error while loading shared libraries: libprotobuf.so.10: cannot open shared object file: No such file or directory

Even if I deactivated the nextgis PPA, libprotobuf10 was referenced as version 3.5.x by apt-cache policy, that meant it was the version packages from this PPA. But apt-cache policy has no '500' code and no associated PPA URL as the nextgis PPA from where the version 3.5.x came was removed!
And a $ find /usr -iname "*libprotobuf.so*" only gave me:


And the apt-get install --reinstall libprotobuf10 command didn't work, as it was not able to download (downgrade to) the previous official 3.0.x version from the official repositories!

What I did:

So, I removed it (libprotobuf10) with apt-get:

sudo apt-get remove libprotobuf10 

and this command wanted to remove all these packages as well:

compiz compiz-gnome evolution-data-server gdm3 gnome-online-accounts gnome-shell gnome-shell-extension-dash-to-panel gnome-shell-extensions gnome-todo libcompizconfig0 libebook-1.2-19 libebook-contacts-1.2-2 libedata-book-1.2-25 libphonenumber7 libprotobuf10 libprotoc10 python3-macaroonbakery python3-protobuf ubuntu-desktop ubuntu-session ubuntu-unity-desktop unity unity-control-center unity-session unity-tweak-tool

which I confirmed!

To be safe, prior to the confirmation, I copied/pasted this list of packages in a text file! After what I reinstalled them all with apt.

And of course, I reinstalled libprotobuf10. This time it worked and apt was able to install the version 3.0.x from the official Ubuntu repositories.

This has fixed the unity login issue.


$ find /usr -iname "*libprotobuf.so*"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.