How to Fix the Ubuntu Login Loop

Ubuntu Loginscreen

One of the more common and arguably most frustrating bugs experienced by Ubuntu users is the login boot loop. When you try to log in to Ubuntu after starting up, you get taken right back around to the same login screen, and the process repeats indefinitely.

It might seem like you’re out of luck, but there are a couple of ways to break the loop. The most common cause is a strange permission issue with a file Ubuntu needs to start the graphical desktop. You can work your way around it by entering the command line shell and correcting the file permission. It’s a quick fix, and it works in most cases.

Note: if your system crashed, here’s how you can recover from a Ubuntu crash.

Log in to the Shell

Ubuntu Login Screen

Start Ubuntu like you normally would. Let it get all the way to the login screen. When you get there, don’t sign in. Instead, press Ctrl + Alt+F3 on your keyboard. Ubuntu will drop out of the graphical login screen and into a black and white terminal.

Ubuntu Terminal Prompt

Enter your username in the prompt, then provide your password when asked. You’ll arrive in a familiar-looking terminal screen. You can navigate here exactly like you do in your graphical terminal windows.

Ubuntu Terminal Logged In

Check the Permissions of Xauthority

Ubuntu Lookup Xauthority

The file you need to check is in your home folder. After logging in, you should already be there. The file is a hidden “dot file,” so you’re going to need to use the right flags when looking it up. Search using ls and grep in the following command.

ls -lah | grep -i Xauthority

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.

Also read: How to Take a Screenshot of the Login Screen in Linux

Change the Permissions of Xauthority

Now that you know what’s causing the problem, it’s time to set it right. Instead of root, your user and group should own that Xauthority file. You can change the ownership by running the chown command with sudo.

sudo chown username:username .Xauthority

Remember to replace username with your own username.

That should go off without a hitch, so you’re ready to try logging in again. Press Ctrl + Alt + F7 to return to your normal login screen. Log in to Ubuntu!

Other Options

If that didn’t work, or your Xresources file was owned by your regular user, you have a couple of other options to try. These aren’t necessarily guaranteed either, but they’re worth a try.

Change “/tmp” permissions

Sometimes the “/tmp” folder, which stores the temporary files your computer is working on, experiences the exact same issue as the Xauthority folder. The process of fixing it is very similar.

Ubuntu TMP Permissions

Go ahead and log in to the terminal again, then check the permissions of “/tmp.”

sudo ls -lah /tmp

You’re looking at the permissions for the top entry, the single “.” If they look like “drwxrwxrwt,” you’re okay. If not, you should reset them to that state with chmod and sudo.

sudo chmod 1777 /tmp

Reinstall Your Desktop Environment

If you’re having absolutely zero luck in getting to your desktop and keep going back to the login screen even after you’ve tried all this stuff, you’re probably encountering issues with your display manager (the login screen you’re frustrated with) and the way it’s communicating with the desktop environment.

To fix this, we’ll have to do something a little more drastic and perform a clean re-install of your desktop environment.

Start by going back into the console or terminal mode and removing the DE package for your distro:

sudo apt remove ubuntu-desktop

If you installed another desktop environment alongside it, remove it as well (e.g., plasma-desktop). For now, don’t bother reinstalling those. We’ll only be getting back “ubuntu-desktop” during this process to make sure you reboot into the purest environment possible.

To make this process more rigorous, we’ll need to operate with a fully updated and clean system.

sudo apt update
sudo apt dist-upgrade
sudo apt autoremove
sudo apt clean

Great! You should have a shiny, clean Ubuntu distro running no desktop environment at all by now.

Now, install Ubuntu Desktop.

sudo apt install ubuntu-desktop

Before you do anything else, remember to reboot:

sudo shutdown -r now

With any luck, one of these methods solved the problem, and you’re able to log in to Ubuntu as usual.

Frequently Asked Questions

1. Is this just Ubuntu-related?

No, while testing login loop scenarios, the same problems appear in every other distro that is using the X11 server, and in some scenarios, even in Wayland.

The suggestions in this article work perfectly for other distros as long as you keep in mind that they use different package managers and have different package names. For example, to reinstall a desktop in Arch, I’d do:

sudo pacman -Rns plasma-meta
sudo pacman -Syu
sudo pacman -S plasma-meta
sudo shutdown -r now

The process is similar but the flags in the first command perform the duties Ubuntu would with a few others.

2. How do I prevent this issue?

The best way to prevent system breakages is to make consistent updates and backup. One of my favorite tools to do this with is timeshift. Installing this application makes you capable of performing powerful incremental backups of your system that work in a similar way to how Windows’ System Restore works (except it’s faster!).

To create a backup:

sudo timeshift --create

To start the restoration wizard:

sudo timeshift --restore

To list your backups:

sudo timeshift --list

It’s very simple to use, even for people who are just starting to understand the terminal. If you can boot to desktop, you can also manage timeshift through its GUI application!

3. I am trying to get into terminal mode but keep getting my original login screen. What do I do?

This could be because your system for whatever reason decided to run your display manager on that particular TTY session. Each Ctrl + Alt + F-key combination takes you to a different session. Try a different function key in that combination.

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox

Miguel Leiva-Gomez
Miguel Leiva-Gomez - Staff Writer

Miguel has been a business growth and technology expert for more than a decade and has written software for even longer. From his little castle in Romania, he presents cold and analytical perspectives to things that affect the tech world.