1

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
  *-display                 
       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
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
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.

Question:

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).
Then;

$ 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
s.k
  • 1,490

1 Answers1

0

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:

/usr/lib/x86_64-linux-gnu/libprotobuf.so.15

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.

Now:

$ find /usr -iname "*libprotobuf.so*"
/usr/lib/x86_64-linux-gnu/libprotobuf.so.10.0.0
/usr/lib/x86_64-linux-gnu/libprotobuf.so.10
s.k
  • 1,490