Ubuntu gets stuck in a login loop

My Ubuntu is stuck in a login loop when trying to enter my desktop. When I login, the screen gets black and soon after that the login screen comes back.

I’ve read that the problem might be caused by an error depending on the graphics, here’s my graphics card: ATI Radeon 7670M

Asked By: Calvin Wahlers

||

I had a nearly identical problem a few months ago. Switching into a console from the LightDM login screen (Ctrl-Alt-F1), logging in with administrative username and password, and entering the following commands resolved the issue:

sudo mv ~/.Xauthority ~/.Xauthority.backup
sudo service lightdm restart
Answered By: mblasco

Press Ctrl+ALT+F3. You should be given an unix-style login prompt, so enter your username and password there. From there you should be given a shell (a program that allows you to enter commands, sort of like windows’ cmd.exe). Enter these commands and press ENTER (or Return) after writing each one (you will have to enter your password when it shows something like [sudo] password for USERNAME. Note that the password will not show when you are typing it!):

sudo apt-get update
sudo apt-get -y dist-upgrade
sudo apt-get -y install fglrx

Then reboot your computer using this command:

sudo reboot

See if this works ๐Ÿ™‚


If this does not work, try going back to the 3rd terminal (Ctrl+ALT+F3), login, and enter this command (pressing ENTER after you have typed it):

sudo apt-get -y install lxdm

This will show a DOS-like dialog after a bit. If lxdm is not selected, select it by using the UP and DOWN arrow keys, and press ENTER to accept that selection. Then reboot using the same command as before (sudo reboot).


If this still doesn’t work, go back to the 3rd terminal (ALT+F3), login, and enter this command (same procedure):

sudo apt-get -y install lubuntu-desktop

This will install a much lighter desktop environment which should work for now (should enable you to login and use your computer). Once that is done, reboot (sudo reboot), and when you are confronted with the login page, select the Lubuntu environment instead of Ubuntu.

Answered By: MiJyn

Change to another login screen.

Ctrl+Alt+F2 to open a terminal.

Ctrl+Alt+F7 to go back to the graphic mode.

Type sudo dpkg-reconfigure gdm

In a graphic screen, select gdm and OK.

Type sudo reboot

Answered By: Horacio Galan

Your desktop environment is failing to start (it sounds like). I would start by tring to log in as a different user.

Ctrl+Alt+F1 then login

sudo adduser testing

Once the user has been added ctrl+alt+f7 and try to log in as testing. If you can log in as testing then your unity/gnome configuration is borked and should be reset. This Question covers it. I prefer to mv ~/.config ~/.config.old.

Answered By: coteyr

You might be having problems with LightDM, the login manager that comes in Ubuntu by default. In 12.04 it used to do the same problem you are describing.

You can install GDM, an alternative login manager, to get around this:

At the login screen, press and hold Ctrl+Alt+F2 to go to the terminal. Don’t be afraid! Just log in here with your username and password.

Then, type sudo apt-get install gdm. Let it install and type sudo dpkg-reconfigure gdm and follow the prompts to set it as your login manager.

Press Ctrl+Alt+F7 to get back to the login screen which should now look different. Does logging in work? If it does, your problem is solved!

If it doesn’t, go back to the fullscreen terminal (again, Ctrl+Alt+F2) and run sudo dpkg-reconfigure lightdm to set LightDM as you login manager again. Now you know that this is a problem with your graphics drivers for sure.

Answered By: WindowsEscapist

Did you end up here after running sudo startx? Nevertheless:

Press Ctrl+Alt+F3 and login into the shell.

Now run ls -lA. If you see the line

-rw-------  1 root root   53 Nov 29 10:19 .Xauthority

then you need to do chown username:username .Xauthority and try logging in (you may also need to do the same for for .ICEauthority).

Else, do ls -ld /tmp. Check for the first 10 letters in the left: they should read exactly so: drwxrwxrwt.

drwxrwxrwt 15 root root 4096 Nov 30 04:17 /tmp

Else, you need to do sudo chmod a+wt /tmp and check again.

If not both, I’d recommend you either

  1. sudo dpkg-reconfigure lightdm
  2. or uninstall, reinstall it.

Now press Alt+โ†’ until you reach the login screen again, and restart.

Answered By: SiddharthaRT

I had the same problem after a clean install of Ubuntu 12.10 (but reusing my existing home partition). I tried all of the other answers, but none worked. But I found the clue to my specific problem in the file .xsession-errors in my home directory.

This is how I solved it in my case:

  1. Hit Ctrl+Alt+F1 to open a virtual terminal. Then login with username and password.

  2. Open the file ~/.xsession-errors if it exists (type cat ~/.xsession-errors). In my case, this file contained one single line with an error message:

    /usr/sbin/lightdm-session: 27: .: Can’t open /usr/bin/byobu-launch

  3. Now byobu is a command line tool that I use and I have no idea how that ended up in a system file since this was right after a clean install. Byobu is not installed by default, so that might explain the error as it looks for a file (/usr/bin/byobu-launch) that doesn’t exist. So in my case I had to install byobu to fix the problem:

    sudo apt-get install byobu

  4. Hit Ctrl+Alt+F7 to go back to the login screen, and login worked fine now.

Of course in your case you might find a different error message in .xsession-errors, which requires a different solution.

Answered By: Serrano Pereira

I encountered this exact problem and none of the suggested fixes above worked for me. After almost giving up I looked at the .xsession-errors and noticed I had a typo in my .profile (I had an extra } in the file after I edited it earlier in the day).

That was causing the login loop. It might be another place to look if the other suggested fixes don’t work for you.

Answered By: Dan Cundiff

Faced the same problem today.

The cause was a bit strange to me. xubuntu-desktop was removed, so was ubuntu-desktop. LightDM exited with no error message. Tried lxdm and when I tried to login, it popped up a message saying Xubuntu could not be found.

Reinstalled xubuntu-desktop and it’s fixed now. Think apt-get autoremove removed the package.

Answered By: sooth

Yes I caused a Login Loop on my main Ubuntu 12.10 user and the fix was simple.

Background:
Ubuntu 12.10 is installed in VirtualBox running on Windows 7 and uses Unity.

Cause:
From the Desktop I Ctrl+Alt+T into terminal mode and then tried to run ‘startx’ (I was trying to help a friend over the phone late at night…but this was a stupid thing to do). A new blank Unity desktop appeared and everything hung…

Problem:

Forcing VirtualBox to close and then rebooting Ubuntu I got to the login screen but kept looping back to this same screen everytime after entering the password. No errors were displayed. I could login as Guest but I had no Sudo rights and thus no control…
However once logged in as Guest I Ctrl+Alt+F3 and got to a terminal login.

I entered my main user name and password and logged in with command mode. Logout took me back to CLI login and Ctrl+Alt+F7 took me back to Guest desktop. So my account still worked. I then added a test user and gave them sudo rights. From the Unity login I could login and logout Test user with no problem. So Unity still worked.

Fix:
So my main account was still accessable via CLI and Unity was working for all other accounts. This indicated a configuation problem on my main account. I followed the advice of SiddharthaRT at the top of this post and did chown username:username .Xauthority. This fixed my problem. Thanks !!

Answered By: Dig

I’ve pressed Ctrl+Alt+F3 and logged into the shell.
Afterwards with this command:

chown username:username .Xauthority 

Where username is my login name, I’ve solved the problem.

Answered By: Radu Rฤƒdeanu

I had the same problem after I upgraded to 12.10.Then I came here from Google. I created another user and I could login.

As I don’t use Unity, I uninstalled lighdm. After reboot, I could login. You can try that.

Good luck!

Answered By: user164138

This is not a direct answer to your case but its more of a general solution to login loops.

The problem could be as simple as a wrong command put into the .profile file in the home directory. (Since that file get loaded on logon)

To see if that is really the case, press Ctrl Alt F1, and login. Checking the .xsession-errors file in your home directory

~/.xsession-errors

This should give some clues about some problematic command.

Answered By: Abbas Gadhia

I found my /tmp file permission settings were not correct. It had permissions for root only.

This was my own mistake. I forgot that a day earlier, I deleted the /tmp folder with sudo rights and after recreated the folder again with sudo mkdir tmp.
Big mistake. I created a /tmp folder with root permissions only.

In the ~/.Xsession-errors file I could see that x11 was not able to write a file in /tmp. After execute these commands from the root account (or Alt+Ctrl+f1) in welcome screen and use the problem account credentials to login) I solved the problem:

sudo chmod 1777 /tmp
sudo chown root:root /tmp

After these, I was able to login to Unity again with the normal account again.
So if you have, what looks like a .Xauthority problem, you could try this if nothing else works.

See this thread on Ubuntu Forums

Answered By: Dirk

I have been experiencing the very same problem a couple of times every week and have tried most of solutions given here but the only way I can log back in is by restarting lightdm.

sudo service lightdm restart.

The funny thing is that even after I restrat lightdm, it does not log in on the first attempt but only on my second attempt even though I am entering the right password. I realised this a few weeks ago and I have verified this a few times, making sure that I am not accidentally keying in my password wrong. I am now certain that it does not log me in
the first time after restarting lightdm but only on the second attempt!

Answered By: eshwar

If the other questions do not lead to a solution, my suggestion is to try to follow these steps:

  1. Login in character mode with a VC (Virtual Console). That is, Ctrl Alt F1 and your username/password login. Let’s call this user original.

  2. Create a new user. You can use for example:

    adduser newuser --group sudo
    

    to add a new administrative user (that is, a user that can do sudo).

  3. Try to login as newuser. If it works, you now that the problem is in the specific setup of original user. Otherwise, stop reading here — the problem is at system level and you’ll probably need to reinstall something of the graphic stack.

  4. Now you can try to search what happened. Compare hidden files in ~original and ~newuser and try to find mismatches. Especially you should search for files not owned by you:

    find . ! -user original
    

    and files that are not writable to you (there will be more of them, especially in caches):

    find . ! -perm -u=w
    
  5. You can move suspicious files to a backup (sudo mv whatever whatever-backup) and try to login again.

  6. Files in /tmp and /var that can be sensible to this problem should be deleted by a reboot — but sometime there is some remnant over there, too.

As a last resort, you can backup the important info of original (not all the home dir! or you’ll propagate the problem), and delete and recreate it, although it is better to be able to find where the problem is.

Answered By: Rmano

I had a very similar issue where I could log in on the terminal but not on the desktop, my wallpaper from the profile was loaded during login, but after a few seconds it jumped back to the login screen. I checked all file permissions as suggested, they were fine. I tried without a separate home partition and was able to log in to the desktop. After that I checked the settings for the LUKS encrypted home partition, which were also fine (though there were some error messages on the terminal, telling me that the encrypted volume could not be mounted, because it was already mounted).

Then I looked into dmesg, found BTRFS errors related to the filesystem on the LUKS encrypted home partition (yep, I’m mixing LUKS and BTRFS), tried to actually write to the filesystem and found that it gave me I/O errors. So I had to repair the filesystem or create a new one and restore from backup.

Long story short: Look at dmesg and actually try to write to the filesystem that seems to be writable.

Answered By: LiveWireBT

In my case the problem was caused by wrong permissions on my home directory.

1: Boot from a live media (or different linux distro installed on the same system) and open a terminal with CtrlAltT

2: Make a temporary mount point and Mount the partition that contains your /home (in my case it was /dev/sda6)

sudo mkdir /mnt/sda6
sudo mount /dev/sda6 /mnt/sda6

3: check permissions

sudo ls - la /mount/sda6/

you should see an entry username` where username is your username

From this point forward we will use the username tvbox (change this to your username)

You should see something like this:

drwxr-x--- 67 tvbox tvbox 12288 May 1 07:00 tvbox

This indicates that tvbox is a directory and the owner has the required read, write an execute permissions.

4: correct permissions if incorrect.

If the above is incorrect in any way we need to correct it.

If data was moved by root you will see root root rather than tvbox tvbox (owners name owners group) This could be referred to as the “root cause” ๐Ÿ˜‰

To fix this issue the command `sudo chown -R tvbox:tvbox /mount/sda6/tvbox

If somehow the other permissions aren’t right you will need to modify them with sudo chmod +rwx tvbox adding read write and execute permissions.(the execute bit on a directory allows you to traverse it.)

5: reboot the problem OS

6: login

If this doesn’t resolve your problem refer to the many other quality answers here.

Answered By: Elder Geek

This could also be because of a special combination of settings:

  • Encrypted /home/$USER
  • $USER in nopasswdlogin group

lightdm will try to log you in, but can’t access any files so you get the described symptoms.

To fix this, remove $USER from the group:

sudo gpasswd -d $USER nopasswdlogin
Answered By: Jonas G. Drange

Just in case changing the access privileges for the files .Xauthority and .IDEauthority with the chown command did not work for you:

This solution applies to those who besides having had to change access privileges for the above mentioned files cannot use commands as they used to, i.e. the shell does not find the commands. (This is the reason, why the login command cannot be executed either.)

Type echo $SHELL into your terminal. If you get back /bin/bash, use export PATH=$PATH:/usr/local:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin to temporarily be able to use commands.

Then open your .profile file, located in your home directory ~, i.e. /home/yourusername with sudo gedit ~/.profile and add the missing paths to PATH, so that it looks like this:

PATH=/usr/local:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin

Now reboot your system so that the changes to the environmental variable PATH take effect.

(If commands are not recognized by your shell, you could also use the equivalent paths to the executables of the commands, e.g., instead of sudo gedit ~/.profile type /usr/bin/sudo /usr/bin/gedit ~/.profile. The shell tells you the directory to use, i.e. command not found, but the command your are trying to use can be found in /path/to/command's/directory – could be any of the paths you see above.)

Answered By: Sekin

For me following worked.
Type ctrl + alt + F1 and login with your username at command prompt.

user@dell$ ls -l ~/.ICEauthority
-rw------- root root 3668 May 28 09:28 /home/user/.ICEauthority
user@dell$ sudo chmod 777 ~/.ICEauthority
password:
user@dell$ ls -l ~/.ICEauthority
-rwxrwxrwx root root 3668 May 28 09:28 /home/user/.ICEauthority

ctrl + alt + F7 and login worked.

Answered By: iammilind

May you are affected by Bug #1240336 where different permissions are gone after release upgrade.

Other side effects

  • no guest login
  • Synaptic not starting from menu

I get login to work when I put the user into the video group or after running sudo chmod a+rw /dev/dri/* in a terminal.

But:

  • no sound
  • Logout from user menu not working
  • running /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1
    gives: polkit-gnome-authentication-agent-1:5805): polkit-gnome-1-WARNING **: Unable to determine the session we are in: No session for pid 5805

Solution

Run sudo pam-auth-update --force in terminal.
This solved the described problems in my cases.

Answered By: uzhoasit

I experienced the same problem and the cause in my case was that I tried to add something to the /etc/environment file and whatever I added seemed to not want me to log in after I restarted.

Solution:

When at the login screen press CTRL + ALT + F2. Login with admin username and password and edit the /etc/environment file and remove what changes you made to it.

In the terminal, you can run the following command use nano to edit the file:

sudo nano /etc/environment

Press CTRL + o and then press ENTER to save the file. Press CTRL + x to exit nano.

Once you have edited and saved the file, simply hit CTRL + ALT + F2 to go back to the GUI login screen and you should be able to log on.

Answered By: Jonny

I got the login loop in connection with an update from Ubuntu 12.04 to 14.04. With gdm I had error messages in ~/.cache/gdm/session.log with entries such as /etc/gdm/Xsession: line 33: mktemp: command not found and after sudo aptitude purge gdm with lightdm I got several similar error messages in ~/.xsession-errors, e.g., usr/sbin/lightdm-session: line 24: mktemp: command not found.

I tried several things. What I believe did eventually resolve the problem for me was this:

I moved my configuration files .profile, .bashrc and .pam_environment to other names and then I managed to login. I suspect that there is a problem in one of them.

Answered By: Finn Årup Nielsen

I had this and after looking at /var/log/Xorg.0.log I found out that it’s a Nvidia problem (there was a line saying Xlib: extension "GLX" missing on display ":0).

I realized I have Nvidia drivers from official website which are not really stable and tested (so I’ve read and also experienced in the past).

The solution here was to install package nvidia-current from Ubuntu repos; it is an awfully outdated version, but it’s tested properly at least. Its installer is quite capable too and it uninstalled successfully my hack-installed unstable version from Nvidia website.

TL;DR, just try logging into the shell (Ctrl+Alt+F2 or whatever F between F1 and F6) and type

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-367

If it succeeds, reboot.

sudo reboot

If you’re lucky enough, problem solved, you should be able to login to Unity.

UPDATE

Please note that sometimes nvidia-current might install the wrong driver. In that case, search the latest compatible driver for your video card and install it. For example, on Ubuntu 16.04, nvidia-current points to the version: 304.131-0ubuntu3. This might be incompatible with your graphics card; therefore, search with sudo apt-cache search nvidia-[0-9]+$ for the package you need, and install it.

Answered By: edison23
sudo chown $USER:$USER $HOME

was the problem for me.

I had set up a home partition with:

sudo mkdir /home/$USER

but forgot to chown it.

I had to deal with the same problem.
Unfortunately in my case it was not resolved by simply changing permissions so my contribution will be to try to create a guide from the simple to the more complex steps. Hopefully your uses will be resolved with the simple ones.

Note: replace <username> with your username.

Assumptions: Nvidia Graphic Card, lightdm


Access To Terminal

To open a new terminal simply use (and then login with your credentials):

Ctrl+Alt+F1

Check the owned/group/permissions of your home directory files

cd ~<username>
ls -lah

Fix the owner and group of .Xauthority and /tmp

chown <username>:<username> .Xauthority
sudo chmod a+wt /tmp

Check if there is still a problem by restarting lightdm

sudo service lightdm restart

Reconfigure lightdm

dpkg-reconfigure lightdm
sudo service lightdm restart

If you wish to see possible errors from the system

tail -n 50 /var/log/Xorg.0.log # if you want to see the last 50 errors
tail -f /var/log/Xorg.0.log    # if you want to be able to see all new errors live

Relevant log files:

/var/log/Xorg.0.log
/var/log/lightdm/lightdm.log

As a last resort, which is what I did, reinstall the graphic card drivers.
Nvidia simply does not work nice with Ubuntu.

Answered By: Stanislav

I only had to change the permissions of my home folder:

sudo chmod 755 /home/<username>

This can be done by logging in, into a terminal, using your username and password in a shell using CtrlAltF1.

Answered By: ffurrer

I had to remove NVIDIA drivers to get in, as in (replace nvidia-current with nvidia-340 or whatever your number is).

Revert back to Nouveau drivers

Then I had a buggy UNITY frame. I had to follow the steps showed here to fix them:

https://askubuntu.com/a/290376/275142

Answered By: Evin1_

This happened to me when I switched off the computer while it was still finishing upgrading to the latest kernel images. I did CTRL-ALT F1, logged in, then sudo apt-get update and sudo apt-get dist-upgrade and let it finish to setup.

After rebooting, I was able to login into the destkop again.

Answered By: f.cipriani

My home folder was full ๐Ÿ™ df -h will give you this answer I had to connect through ssh made some space and worked like a flower

ctrl+alt+F1, login as user, free up some space and restart your X server! mostely sudo service sddm restart

Answered By: Philippe Gachoud

Proprietary Driver Issues

MoKSB State

I was able to log in to TTY using ctrl+alt+F1, but had no internet access seeing as the driver is proprietary as well.

No Xorg issues were apparent.

I decided to remove the packages when I recieved the MokSB failed message telling me that it could NOT change the secure boot settings. The notable part is that it prompted me for a password even though it failed.

Secure Boot

Caution: Do NOT just blindly remove your drivers!

A good test to see if it is a Proprietary Driver issue is to turn OFF Secure Boot and boot Ubuntu and attempt to login. If logging in works, then you now know what you’re issue is.

Broadcom Drivers and Nvidia Drivers

I removed nvidia packages

sudo apt-get purge nvidia-*

and then I removed the broadcom packages

sudo apt-get purge bcmwl-kernel-source

and rebooted.

I attempted to login again and success!

I saw my desktop!

I rebooted again.
logged in again and everything was set to default.

  • I rebooted into BIOS

  • turned off secure boot (not recommended, need a better solution)

  • booted up ubuntu using grub

  • logged in and installed the downloaded *.deb file for my wifi driver

  • installed it using Software Center

  • and rebooted.

I followed the same procedure for my nvidia drivers seeing as the default video drivers are awful on my card.

Turning Secure Boot On Again

If I turn on Secure Boot again, I see the same issue. Since the drivers are NOT signed, it’s not a true Secure Boot and I get locked out.

Personally, I find this to be a very bogus (and annoying) issue.

Alternative Solution?

The most feasible solution I saw was customizing the kernel seeing as I can’t simply leave Secure Boot off and turn it On and then Off when I switch OS’s. Again, it’s just annoying.

UPDATE on Jan 4 2017

According to this article, the Linux Kernel >= 4.6 now officially supports

GeForce GTX 900 series accelerated support in conjunction with signed
firmware images.

This should resolve the secure boot issue caused by using the unsigned firmware images.

Answered By: user383919

I’ve experienced this issue on a Xenial installed on a usb key, mounted on a HD-less laptop, running unity and gnome-flashback.
Tried about every workaround in here without success, then remembered that some days ago, while in chroot and using qemu, if I choose gnome-flashback-compiz I got the issue while with unity I didn’t. Tried with gnome-flashback-metacity and it worked.

In this case too, it doesn’t work with gnome-flashback-compiz but with gnome-flashback-metacity and with unity it worked.

Silvia

Answered By: Silvia

In my case, my user folder somehow got chown‘ed by root! The answer lies in .Xauthority and other files in your home folder; if user config data can’t be opened read/write, lightdm will fail.

I simply ctrl+f1, logged in, then sudo chown /home/<userdir>, then sudo service lightdm restart (may not be necessary), and then I was able to get back in.

Some diagnostic messages would be more useful, but such is life with free software.

Answered By: M K

For me configuration of some packages was off, so running (after ctrl + alt + F3):

sudo dpkg --configure -a

fixed the problem.

Answered By: Akavall

Regarding Gnome Users:

I tried all of these optionals to no avail. Likely due to using Gnome as my preferred UI.

After looking at Sooth’s Answer I was able to get it to login with the ubuntu and xubuntu GUI, so his post helped a spark in my brain.

I didn’t see anything related to Gnome, so I looked up some instections and followed this guide from OMG Ubuntu for Gnome 3.2 on Ubuntu 16.04.

I had Gnome working flawlessly so I have no clue what went wrong one day. It’s a bit of a download and upgrades but this worked for me with Gnome and I’m happy without the login loop of death!

Answered By: JREAM

I found another way to cause a login loop not covered by any of these answers, yay me!

I had a script to set up my dual monitors that was referenced in /etc/lightdm/lightdm.conf as a session-setup-script. When I went to a single monitor config, I deleted the script, but did not remove the reference. Next time I booted up – login loop.

Examining the logfile in /var/log/lightdm/lightdm.log I found an explicit error message telling me the script was not found and therefore lightdm failed to start. Commenting out the reference in lightdm.conf fixed it.

Answered By: Organic Marble

After reading James answer , I realized I had changed the user password by logging in as root. I knew the old password, so I logged in as root again ( to login as root press ctrl+alt+F3 give the username as root and and enter your root password) and changed the password for that user to old one by below command

passwd <username>

Now change the password to old one , press ctrl+alt+F7 and login normally.
This solution works only if you have encrypted home directory issue and incase you had changed password using root.

Answered By: rahul

I had a similar issue recently. Ubuntu made some updates and i got this login-loop that seemed to be related to lightdm.

I finally managed to solve the issue after trying several things.

I suspect amdgpu to be the reason of failure but because i dont know for sure, i am going to post everything, that i tried:

Taken from my original question on askubuntu: See here

  1. uninstall amdgpu-pro (amdgpu-pro-uninstall)
  2. install the open source driver (see here). I also installed all those *hwe* packages.
  3. reinstall and reconfigure lightdm, ubuntu-dektop, unity

At this point – after rebooting – my keyboard would not respond anymore, so i booted into recovery mode and selected the option to repair broken packages, which worked and i could use my keyboard again.

Unfortunately the login still would not work. Additionally i added my user to the lightdm group, but i doubt that is of any importance.

Then i found other similar issues and tried the following steps:

# as root
add-apt-repository ppa:paulo-miguel-dias/pkppa
apt-get update
apt-get upgrade
reboot

Still no success so far, so i decieded to try another upgrade method

# as root
apt full-upgrade
reboot

And then i was able to login again.

My personal conclusion

It seems the problem exists within the amdgpu driver and ubuntu will not be able to install a working driver unless you add the ppa mentioned above. It says to work only with Ubuntu 18.04 but i tried it anyway and it worked for now.

Answered By: Philipp Wrann

I have been through this problem multiple times and it has been a different issue each time. One of the following issues could have caused your problem and you could use the command line interface by using Ctrl+Alt+F1 (Replace F1 with F2,F3…. if your tty1 is occupied) to try the following solutions

NVIDIA drivers missing or broken?

  1. Run nvidia-smi to access the NVIDIA system management interface. The output should be something of this sort.
Mon Sep 17 14:58:26 2018       
+-----------------------------------------------------------------------------+ 
| NVIDIA-SMI 390.87                 Driver Version: 390.87                    | 
|-------------------------------+----------------------+----------------------+ 
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC | 
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. | 
|===============================+======================+======================| 
|   0  GeForce GT 720      Off  | 00000000:01:00.0 N/A |               N/A    | 
| 19%   35C    P8    N/A /  N/A |    543MiB /   980MiB |     N/A Default      |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+ 
| Processes:                                                       GPU Memory | 
|  GPU       PID   Type   Process name                        Usage           | 
|=============================================================================| 
|    0                    Not Supported                                       |
+-----------------------------------------------------------------------------+

If you’re not able to access it, there is probably some issue with your graphic drivers.

  1. In that case, you should be able to find out the name of your graphics card using lspci | grep VGA.
  2. You can find out the compatible drivers for your graphics card using the link.
  3. (Try without this stepand maybe then with this step if there was no success). Remove the existing broken drivers using sudo apt-get purge nvidia*.
  4. Install the drivers using

    sudo add-apt-repository ppa:graphics-drivers

    sudo apt-get update

    sudo apt-get install nvidia-390 (Or whatever the compatible driver is for your graphics card)

  5. Try a restart using systemctl reboot -i and hope your login loop is fixed.

Is your HOME your HOME?

  1. Check the owner of your home directory using ls -l /home
  2. If you don not own your home directory, change it using sudo chown $USER:$USER $HOME
  3. Try a restart using systemctl reboot -i and hope your login loop is fixed.

Do you own your .Xauthority?

  1. Check the owner of your home directory using ls -l ~/.Xauthority
  2. If you don’t own your .Xauthority, change it using sudo chown $USER:$USER ~/.Xauthority
  3. If you do, move your .Xauthority file using sudo mv ~/.Xauthority ~/.Xauthority.bak
  4. Try a restart using systemctl reboot -i and hope your login loop is fixed.
  5. You might need to do the same thing on .ICEauthority.

Is your /tmp right?

  1. Run ls -ld /tmp and make sure the permissions are exactly drwxrwxrwt. The output should be of this sort

drwxrwxrwt 27 root root 36864 Sep 17 17:15 /tmp

  1. If not, run sudo chmod a+wt /tmp
  2. Try a restart using systemctl reboot -i and hope your login loop is fixed.

Maybe lightdm is your problem?

  1. Reconfigure your display manager using dpkg-reconfigure lightdm and try out other display managers (gdm3,lightdm,) that are available. Maybe this will you give you enough clues to move forward.
  2. If none of them help,try installing sddm using sudo apt-get install sddm
    for one final try. reconfigure display to sddm.

If none of the above solutions worked, you can try re-installing ubuntu.

P.S: This is a compilation of answers from the sources I refered to, some from this post as well.

Answered By: Bhargav Chereddy

Same problem on multiple RPIs (version 2B and 3). Solution:

  • check the .xsession-errors file: cat ~/.xsession-errors. Mine showed:

Xsession: X session started for pi at ****

Xsession: unable to start X session — no “/home/pi/.xsession” file, no
“/home/pi/.Xsession” file, no session managers, no window managers, and no
terminal emulators found; aborting.

  • to solve this reinstall the following packages:
sudo apt-get install xserver-xorg-core xserver-xorg-input-all 
xserver-xorg-video-fbdev libx11-6 x11-common 
x11-utils x11-xkb-utils x11-xserver-utils xterm lightdm openbox

Source: https://www.raspberrypi.org/forums/viewtopic.php?t=154190

fyi:
I used the RPIs before with auto-login and non-gui mode. Thus, I reinstalled lightdm and ended up at the login loop problem after switching to auto-login GUI mode (raspi-config).

Answered By: hb0

GNOME-Shell extensions installed to user’s profile were apparently causing the login-loop in case of Bionic Beaver installation here.
User is able to again successfully login to its graphical environment not until removal of all of GNOME-Shell extensions installed to user profile. Found then removed from Bash had been ext-helper@amanda.darkdna.net and workspace-grid@mathematical.coffee.gmail.com.

I believe to had found that track by examining systemd journal, there was also a signal in web addressing Gnome shell extensions in this or close context.

Problems started to occur after installation of security and basic updates in calender week #3 of 2019. Actually no reconfiguration at system level was conducted by user that time.

Now two system-level GNOME-extensions are left because no way was found to uninstall them too. However these are set to disabled. Extensions’ main switch is also put to OFF. Maybe middle or long term I will try to use extensions again, however by progressing with caution and in small steps.

Consequently none of hints found here could help as the underlying points were OK, e.g. ~/.XAuthority, ~/.ICEAuthority, /tmp directory, Nvidia stack.
lightdm-based approach was undesired as in this case Ubuntu 18.04 is used which does not use lightdm as default.
It is installation running in VmWare-hypervisor so the emulated graphic card is not from Nvidia. Those hints could not be applied too nor help.
I was also unable to find in ~/xsession-errors directive hints.

I found Rmano’s approach interesting and applied that which in consequence uncovered few other interesting points, these will be raised in new Questions.
Also Rmano’s hint contributed to success in this case. Thank you.

Answered By: Fifi Cek

I got into the login loop by running the software updater for 18.04 on Jan 30 2019. It was very hard to get into terminal mode per Ctrl+Alt+F1 or F2 or F3, succeeding typically only after a number of reboots. Getting into terminal mode per Ctrl+Alt+F3 became reliable only after installing lightdm and switching to that as suggested in the popular answer above. The other standard recipes (check ownership of .Xauthority and .ICEauthority and permissions of /tmp) were in order and mucking with the nvidia driver didn’t help. After much googling I found Khalil Laleh’s suggestion at Ubuntu 18.04 Login window loop to check your gnome extensions. Bingo! In my case Zakkak’s workspace grid = ‘workspace-grid@mathematical.coffee.gmail.com’ in directory ~/.local/share/gnome-shell/extensions needed to be removed to make Ubuntu finally start up, and then reinstallation from https://extensions.gnome.org restored my workspace layout.

Answered By: Rob Rutten

If you cannot log in, the disk/partition of your home folder might be full.

To find out if your disk/partition is full: press Ctrl + Alt + F3, login and type df. You get information on the used disk space.

Answered By: daniel.heydebreck

I’m sure nobody except someone with an extreme case of the issue will see this, but if you do… maybe this will help! ๐Ÿ™‚

Adding to the current answers – and building off of them to a large extent, I have once or twice had the problem that files other than .Xauthority are owned by root for some reason. This can create login loops, problems with secondary monitors, and a host of other issues. To locate suspect files, run:

user@hostname:~$ find -user root

From there, you kind of have to fish around in the output and see if you can’t locate something that looks unusual.

As a side note, it also shows if .Xauthority is owned by root…

Answered By: anonymous2

In my case, this was caused by a newly installed software through the Software center (or whatever its called) called Brightness Control (Xrandr). So I logged into Ubuntu using Unity from the logging window and then I opened up the Software Center to uninstall it. After rebooting I could log into Ubuntu (Gnome).

Answered By: blue_chip

If you recently installed indicator-multiload, uninstall it.

This problem happened to me after I installed indicator-multiload, so uninstalling it fixed the problem.

Answered By: vanillaSugar

Solved using these commands:

 sudo apt purge gdm3
 sudo reboot
 sudo apt install gdm3
 sudo service gdm start
Answered By: 0x8BADF00D

There is another possible cause for this problem not covered in the other answers:

If your homefolder is encrypted and you changed the user password without changing the encryption password.

In this case when you login, your password will not be the same as the encryption password and your home folder cannot be loaded. As a result, your .Xauthority file will not be able to be loaded, and you won’t even find it if you try to as suggested in @SiddharthaRT’s and many others’ answers.

(As a hint if you don’t remember if your home folder was encrypted, if you do ls -lA you should see some files with “encrypt” in their name and a folder called .Private if your home folder was encrypted.)

You have two options:

  1. The easiest is to reinstate your old user password, using

    sudo passwd user
    

    where user is your username. Then you’ll be able to login as normal again. However, if you changed your user password you probably have a reason for this, so the 2nd option is better.

  2. Rewrap (i.e. change) your encryption password, as explained here. Basically, to do this (assuming you have kept your new user password), mount your encrypted home folder as follows

    ecryptfs-mount-private
    

    and then set the encryption password to the new password with

    ecryptfs-rewrap-passphrase ~/.ecryptfs/wrapped-passphrase
    

    Then everyting should be mounted as normal again.

Answered By: Lu Kas

20.04 and above:

Opening a console

To open a console, you can press Ctrl + Alt + f5 or boot into grub recovery mode.

Method #1 Removing Old Configuration files.

As System 76 support says in their article, you can remove the old configuration files to fix this issue:

  1. Add a new user
sudo adduser test
  1. log in as the new user (test)

  2. If the login worked without any issues then there are problems with the configuration files of the main user.

  3. Backup/remove the old configuration files:

mv ~/.config ~/.config.old
mv ~/.local ~/.local.old
mv ~/.cache ~/.cache.old
mv ~/.nvidia-settings-rc ~/.nvidia-settings-rc.old
mv ~/.nv ~/.nv.old
sudo reboot
  1. If the configuration files are automatically generated then leave this step:
sudo mkdir ~/.config
sudo mkdir ~/.local
sudo mkdir ~/.cache
sudo mkdir ~/.nv
sudo mkdir ~/.nvidia-settings-rc
sudo reboot

Now try logging in with the regular user.


Method #2 Changing permissions of .Xauthority

  1. Identify the permissions of the file by running (run this in your home directory):
ls -lah | grep -i Xauthority
  1. You should see the file listed with the permissions first, followed by the username and group that own it. If you see โ€œrootโ€ listed there, youโ€™ve found the source of the problem.

  2. Give proper permissions:

sudo chown username:username .Xauthority

change "username" with your username.


Removing Gnome shell extensions

Sometimes a corrupted gnome-shell extension can also cause this issue. Removing the extensions will help:

sudo rm -r ~/.local/share/gnome-shell/extensions/*

Resetting gnome

Sometimes, there are problems with configuration files, in that case resetting gnome and its applications will help:

sudo dconf reset -f /

Installing correct Nvidia drivers

  1. First, remove all the Nvidia drivers by running:
sudo apt purge nvidia*
  1. Auto install the recommended drivers:
sudo ubuntu-drivers autoinstall
  1. Install the specific drivers for your device:
ubuntu-drivers devices
# identify the drivers needed 

sudo apt install nvidia<version>
  1. Try using system76 drivers (optional):
sudo touch /etc/apt/preferences.d/system76-apt-preferences
echo "Package: *
Pin: release o=LP-PPA-system76-dev-stable
Pin-Priority: 1001

Package: *
Pin: release o=LP-PPA-system76-dev-pre-stable
Pin-Priority: 1001" >> /etc/apt/preferences.d/system76-apt-preferences
sudo apt-add-repository -y ppa:system76-dev/stable
sudo apt-get update
sudo apt install system76-driver-nvidia
sudo apt update && sudo apt full-upgrade 

Disabling AMD Radeon Drivers

On newer versions of Ubuntu AMD, GPU chips are not well supported, so sometimes it is causing the issue. Turning it off would help:

sudo echo blacklist radeon >> /etc/modprobe.d/blacklist.conf

sudo update-initramfs -c -k all
sudo shutdown -r now

Reinstalling display manager

Sometimes the display manager needs some troubleshooting, reinstall it:

sudo apt install --reinstall ubuntu-desktop gdm3 gnome-shell

After that run:

sudo dpkg-reconfigure gdm3

Select the option gdm and press enter.


Changing display managers

You can install a new display manager by the following commands:

sudo apt install lightdm
### If you want sddm 
sudo apt install sddm

Then run:

sudo dpkg-reconfigure <display manager name> # example lightdm

Thanks to System76 support, for letting me use some information (method #1, method #3, and method #4) for letting me use some information from their article.

Answered By: Error404

I ran into a similar problem on both my office linux installation and home machine. I installed a program which required compilation and the executable file was in the bin directory of the program’s folder. I exported the PATH, but on booting the normal /bin /usr/bin … was replaced by my mistake, so the path to bin was only my programs/bin folder. Hence it went to login loop

Once I removed my added path, it started booting normally.

Another user -xpioneer had pointed out the problem.
I am just reproducing below–

"There is one more possible reason . If you mess up the /etc/environment file then also it can happen. To fix . do ctrl+alt_+F3 and login to session. check if you can run any shell command. if not then that’s the problem. โ€“ "
xpioneer
Dec 7, 2019 at 4:28

Answered By: Suresh Shettigar

In my case, I looked at ~/.xsession-errors and found the problem was actually at ~/.profile with a missing binary which wasn’t needed anymore.

I deleted the line and restarted lightdm with sudo systemctl restart lightdm.service and it worked.

Answered By: Shivam saini
Categories: Answers Tags: , , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.