Ubuntu卡在登录循环中

尝试进入我的桌面时,我的Ubuntu陷入了登录循环。 当我登录时,屏幕变黑,不久之后登录屏幕就会恢复。

我已经读过这个问题可能是由于图形错误引起的,这是我的显卡:ATI Radeon 7670M

你在运行sudo startx后最终到了这里吗? 然而:

Ctrl + Alt + F3并登录到shell。

现在运行ls -lA 。 如果你看到这条线

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

然后你需要做chown username:username .Xauthority并尝试登录(你可能也需要为.ICEauthority做同样的.ICEauthority )。

否则,请执行ls -ld /tmp 。 检查左边的前10个字母:它们应该如下: drwxrwxrwt

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

否则,你需要做sudo chmod a+wt /tmp do sudo chmod a+wt /tmp并再次检查。

如果不是两者,我也建议你

  1. dpkg-reconfigure lightdm
  2. 或卸载,重新安装。

现在按Alt + - >直到再次到达登录屏幕,然后重新启动。

我有这个,看了/var/log/Xorg.0.log我发现它是一个Nvidia问题(有一条线说Xlib: extension "GLX" missing on display ":0 )。

我意识到我有来自官方网站的Nvidia驱动程序,这些驱动程序并不是非常稳定和经过测试(因此我读过并且过去也经历过)。

这里的解决方案是从Ubuntu repos安装包nvidia-current ; 它是一个非常过时的版本,但它至少经过了适当的测试。 它的安装程序也非常强大,它从Nvidia网站成功卸载了我的hack-installed unstable版本。

TL; DR ,只需尝试登录shell( Ctrl + Alt + F2F1F6之间的任何F)并输入

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

如果成功,请重新启动。

 sudo reboot 

如果你很幸运,问题解决了,你应该能够登录Unity。

UPDATE

请注意,有时nvidia-current可能会安装错误的驱动程序。 在这种情况下,请搜索video卡的最新兼容驱动程序并进行安装。 例如,在Ubuntu 16.04上, nvidia-current指向版本:304.131-0ubuntu3。 这可能与您的显卡不兼容; 因此,搜索sudo apt-cache search nvidia-[0-9]+$获取所需的软件包,并进行安装。

我遇到了这个确切的问题,并且上面提到的修复程序没有为我工作。 几乎放弃后,我查看了.xsession-errors ,注意到我的.profile有一个拼写错误(我在当天早些时候编辑它后在文件中有一个额外的} )。

这导致了登录循环。 如果其他建议的修复程序对您不起作用,它可能是另一个地方。

几个月前我遇到了几乎相同的问题。 从LightDM登录屏幕(Ctrl-Alt-F1)切换到控制台,使用管理用户名和密码登录,并输入以下命令解决了以下问题:

 sudo mv ~/.Xauthority ~/.Xauthority.backup sudo service lightdm restart 

今天面临同样的问题。

原因对我来说有点奇怪。 xubuntu-desktop被删除了, ubuntu-desktop也被删除了。 LightDM退出,没有错误消息。 尝试lxdm,当我尝试登录时,它弹出一条消息,说无法找到Xubuntu。

重新安装xubuntu-desktop并立即修复。 想想apt-get autoremove删除了包。

Ctrl + ALT + F3 。 您应该获得一个unix样式的登录提示,因此请在那里输入您的用户名和密码。 从那里你应该给你一个shell (一个允许你输入命令的程序,有点像cmd.exe )。 输入这些命令并在写完每个命令后按ENTER (或返回 )(当显示[sudo] password for USERNAME时,您必须输入密码。请注意,当您输入密码时,密码不会显示!):

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

然后使用此命令重新启动计算机:

 sudo reboot 

看看这是否有效:)


如果这不起作用,请尝试返回第3个终端( Ctrl + ALT + F3 ),登录,然后输入此命令(键入后按ENTER键 ):

 sudo apt-get -y install lxdm 

稍后会显示类似DOS的对话框。 如果未选择lxdm ,请使用向上向下箭头键选择它,然后按ENTER接受该选择。 然后使用与之前相同的命令sudo rebootsudo reboot )。


如果仍然无效,请返回第3终端( ALT + F3 ),登录,然后输入此命令(相同步骤):

 sudo apt-get -y install lubuntu-desktop 

这将安装一个更轻的桌面环境,现在应该可以工作(应该允许您登录和使用您的计算机)。 完成后,重新启动( sudo reboot ),当您遇到登录页面时,选择Lubuntu环境而不是Ubuntu

我的主文件夹已满 :-( df -h会给你这个答案,我必须通过ssh连接制作一些空间,像一朵花一样工作

ctrl + alt + F1 ,以用户身份登录,释放一些空间并重新启动X服务器! mostely sudo service sddm restart

您可能遇到LightDM问题,默认情况下是Ubuntu中的登录管理器。 在12.04,它曾经做过你所描述的同样问题。

您可以安装GDM(另一种登录管理器)来解决此问题:

在登录屏幕上,按住Ctrl + Alt + F2转到终端。 别害怕! 只需使用您的用户名和密码登录即可。

然后,键入sudo apt-get install gdm 。 让它安装并输入sudo dpkg-reconfigure gdm并按照提示将其设置为登录管理器。

Ctrl + Alt + F7返回到登录屏幕,该屏幕现在应该看起来不同。 登录工作? 如果是这样,你的问题就解决了!

如果没有,请返回全屏终端(再次按Ctrl + Alt + F2 )并运行sudo dpkg-reconfigure lightdm以再次登录管理器时设置LightDM。 现在您知道这肯定是您的图形驱动程序的问题。

这不是您的案例的直接答案,但它更多是登录循环的一般解决方案。

问题可能就像放入主目录中的.profile文件中的错误命令一样简单。 (因为该文件在登录时加载)

要查看是否确实如此,请按Ctrl Alt F1 ,然后登录。 检查主目录中的.xsession-errors文件

 ~/.xsession-errors 

这应该给出一些有问题的命令的线索。

是的我在我的主Ubuntu 12.10用户上引起了一个登录循环,修复很简单。

背景:Ubuntu 12.10安装在Windows 7上运行的VirtualBox中并使用Unity。

原因:从桌面我按Ctrl + Alt + T进入终端模式,然后尝试运行’startx’(我试图通过电话帮助朋友深夜……但这是一个愚蠢的事情)。 一个新的空白Unity桌面出现了,一切都挂了……

问题:

强制VirtualBox关闭然后重新启动Ubuntu我进入了登录屏幕,但每次输入密码后都会循环回到同一个屏幕。 没有显示错误。 我可以作为访客登录,但我没有Sudo权限,因此无法控制…但是一旦以访客身份登录我按Ctrl + Alt + F3并进入终端登录。

我输入了我的主用户名和密码,并以命令模式登录。 Logout将我带回CLI登录, Ctrl + Alt + F7将我带回了Guest桌面。 所以我的帐户仍然有效。 然后我添加了一个测试用户并给了他们sudo权限。 从Unity登录我可以登录并注销测试用户没有问题。 Unity仍然有效。

修复:因此我的主帐户仍可通过CLI访问,Unity正在为所有其他帐户工作。 这表明我的主帐户存在配置问题。 我按照SiddharthaRT的建议在这篇文章的顶部做了chown username:username .Xauthority 。 这解决了我的问题。 谢谢 !!

我按下Ctrl + Alt + F3并登录到shell。 之后使用此命令:

 chown username:username .Xauthority 

如果username是我的登录名,我就解决了这个问题。

专有的驱动问题

MoKSB州

我能够使用ctrl+alt+F1登录到TTY ,但由于驱动程序是专有的,因此无法访问互联网。

没有Xorg问题显而易见。

当我收到MokSB failed消息告诉我它无法更改安全启动设置时,我决定删除这些软件包。 值得注意的是,即使失败,它也会提示我输入密码。

安全启动

注意:不要盲目地移除你的司机!

检查它是否是专有驱动程序问题的一个很好的测试是关闭安全启动并启动Ubuntu并尝试登录。 如果登录有效,那么您现在知道您的问题是什么。

Broadcom驱动程序和Nvidia驱动程序

我删除了nvidia包

 sudo apt-get purge nvidia-* 

然后我删除了broadcom包

 sudo apt-get purge bcmwl-kernel-source 

并重新启动。

我试图再次登录并成功!

我看到了我的桌面!

我又重新启动了。 再次登录,一切都设置为默认值。

  • 我重新启动进入BIOS

  • 关闭安全启动(不推荐,需要更好的解决方案)

  • 使用grub启动ubuntu

  • 登录并为我的wifi驱动程序安装下载的* .deb文件

  • 使用软件中心安装它

  • 并重新启动。

我对我的nvidia驱动程序采用了相同的程序,因为我的卡上的默认video驱动程序很糟糕。

再次启用安全启动

如果我再次打开安全启动,我会看到同样的问题。 由于驱动程序未签名,因此它不是真正的安全启动而且我被锁定了。

就个人而言,我发现这是一个非常虚伪(和讨厌)的问题。

替代方案?

我看到的最可行的解决方案是定制内核 ,因为我不能简单地关闭安全启动并将其打开然后在我切换操作系统时关闭。 再一次,它只是令人讨厌。

2017年1月4日更新

根据这篇文章 ,Linux Kernel> = 4.6现在正式支持

GeForce GTX 900系列加速了对签名固件映像的支持。

这应解决因使用未签名的固件映像而导致的安全启动问题。

您的桌面环境无法启动(听起来像)。 我首先要以不同的用户身份登录。

按Ctrl + Alt + F1然后登录

sudo adduser testing

一旦用户添加了ctrl + alt + f7并尝试登录进行测试。 如果你可以作为测试登录,那么你的unity / gnome配置是borked,应该重置。 这个问题涵盖了它。 我更喜欢mv ~/.config ~/.config.old

我只需要更改我的主文件夹的权限:

 sudo chmod 755 /home/ 

这可以通过使用Ctrl Alt F1在shell中使用您的用户名和密码登录终端来完成。

我得到了与Ubuntu 12.04到14.04更新相关的登录循环。 使用gdm我在〜/ .cache / gdm / session.log中有错误消息,条目如/etc/gdm/Xsession: line 33: mktemp: command not found ,在使用lightdm sudo aptitude purge gdm之后我收到了几条类似的错误消息在~/.xsession-errors ,例如, usr/sbin/lightdm-session: line 24: mktemp: command not found

我尝试了几件事。 我认为最终为我解决的问题是:

我将配置文件.profile.bashrc.pam_environment到其他名称,然后我设法登录。 我怀疑其中一个有问题。

 sudo chown $USER:$USER $HOME 

对我来说是个问题。

我已经设置了一个主分区:

 sudo mkdir /home/$USER 

但忘记了它。

在干净安装Ubuntu 12.10之后我遇到了同样的问题(但重用了我现有的主分区)。 我尝试了所有其他答案,但都没有奏效。 但是我在主目录中的.xsession-errors文件中找到了我特定问题的线索。

这是我在我的案例中解决它的方式:

  1. 按Ctrl + Alt + F1打开虚拟终端。 然后使用用户名和密码登录。

  2. 打开文件~/.xsession-errors如果存在)(键入cat ~/.xsession-errors )。 就我而言,此文件包含一行,并显示错误消息:

    / usr / sbin / lightdm-session:27 :.:无法打开/ usr / bin / byobu-launch

  3. 现在byobu是我使用的命令行工具,我不知道它是如何最终在系统文件中,因为这是在干净安装后。 默认情况下不安装Byobu,因此可能会在查找不存在的文件( /usr/bin/byobu-launch )时解释错误。 所以在我的情况下,我必须安装byobu来解决问题:

    sudo apt-get install byobu

  4. 按Ctrl + Alt + F7返回登录界面,登录工作正常。

当然,在您的情况下,您可能会在.xsession-errors中找到不同的错误消息,这需要不同的解决方案。

我有一个非常类似的问题,我可以在终端上登录但不在桌面上登录,我在登录时加载了我的个人资料壁纸,但几秒后它又跳回登录界面。 我按照建议检查了所有文件权限,它们没问题。 我尝试没有单独的主分区,并能够登录到桌面。 之后,我检查了LUKS加密的主分区的设置,这也很好(虽然在终端上有一些错误消息,告诉我加密的卷无法安装,因为它已经安装)。

然后我查看了dmesg,发现了与LUKS加密的主分区上的文件系统相关的BTRFS错误(是的,我正在混合LUKS和BTRFS),试图实际写入文件系统,发现它给了我I / O错误。 所以我不得不修复文件系统或创建一个新的文件系统并从备份恢复。

简而言之:看看dmesg并实际上尝试写入似乎可写的文件系统。

这也可能是因为设置的特殊组合:

  • 加密/home/$USER
  • nopasswdlogin组中的$USER

lightdm会尝试让您登录,但无法访问任何文件,因此您将获得所描述的症状。

要解决此问题,请从组中删除$USER

 sudo gpasswd -d $USER nopasswdlogin 

我不得不处理同样的问题。 不幸的是,在我的情况下,它只是通过简单地更改权限而无法解决,因此我的贡献将是尝试创建从简单到更复杂步骤的指南。 希望您的用途将通过简单的方法解决。

注意:将替换为您的用户名。

假设: Nvidia Graphic Cardlightdm


访问终端

要打开一个新终端,只需使用(然后使用您的凭据登录):

Ctrl + Alt + F1

检查主目录文件的拥有/组/权限

 cd ~ ls -lah 

修复.Xauthority和/ tmp的所有者和组

 chown : .Xauthority sudo chmod a+wt /tmp 

通过重新启动lightdm检查是否仍有问题

 sudo service lightdm restart 

重新配置lightdm

 dpkg-reconfigure lightdm sudo service lightdm restart 

如果您希望从系统中看到可能的错误

 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 

相关日志文件:

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

作为最后的手段,这就是我所做的,重新安装显卡驱动程序。 Nvidia根本不适合Ubuntu

我遇到了同样的问题,我的案例中的原因是我试图在/etc/environment文件中添加一些东西,而我添加的任何内容似乎都不希望我在重新启动后登录。

解:

在登录屏幕时按CTRL + ALT + F2 。 使用管理员用户名和密码登录并编辑/etc/environment文件并删除对其所做的更改。

在终端中,您可以运行以下命令使用nano来编辑文件:

 sudo nano /etc/environment 

CTRL + o ,然后按ENTER以保存文件。 按CTRL + x退出nano。

编辑并保存文件后,只需按CTRL + ALT + F2即可返回GUI登录界面,您应该能够登录。

我发现我的/tmp文件权限设置不正确。 它只具有root权限。

这是我自己的错误。 我忘了前一天,我删除了带有sudo权限的/tmp文件夹,然后再次使用sudo mkdir tmp重新创建了该文件夹。 大错。 我创建了一个只有root权限的/ tmp文件夹。

~/.Xsession-errors文件中,我可以看到x11无法在/tmp写入文件。 在欢迎屏幕中从root帐户(或Alt + Ctrl + f1 )执行这些命令并使用问题帐户凭据登录后,我解决了问题:

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

在这之后,我再次使用普通帐户再次登录Unity。 所以如果你有,看起来像.Xauthority问题,你可以试试这个,如果没有其他工作。

在Ubuntu论坛上查看此主题

我必须删除NVIDIA驱动程序以进入,例如(用nvidia-340替换nvidia-current或无论你的号码是什么)。

恢复到Nouveau司机

然后我有一个有缺陷的UNITY框架。 我必须按照这里显示的步骤来修复它们:

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

当我在完成升级到最新内核映像的同时关闭计算机时,这发生在我身上。 我做了CTRL-ALT F1,登录,然后sudo apt-get updatesudo apt-get dist-upgrade让它完成设置。

重新启动后,我能够再次登录到destkop。

您是否受到Bug#1240336的影响,其中发布升级后不同的权限消失了。

其他副作用

  • 没有客人登录
  • 突触不是从菜单开始

当我将用户放入video在终端中运行sudo chmod a+rw /dev/dri/*后,我登录工作。

但:

  • 没有声音
  • 从用户菜单注销不起作用
  • 运行/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1给出:polkit-gnome-authentication-agent-1:5805):polkit-gnome-1-WARNING **:无法确定我们所在的会议:没有pid 5805的会话

在终端中运行sudo pam-auth-update --force 。 这解决了我案例中描述的问题。

我多次经历过这个问题,每次都是一个不同的问题。 以下问题之一可能导致您的问题,您可以使用命令行界面使用Ctrl + Alt + F1 (将F1替换为F2,F3 ….如果您的tty1已被占用)以尝试以下解决方案

NVIDIA驱动程序丢失或损坏?

  1. 运行nvidia-smi以访问NVIDIA系统管理界面。 输出应该是这种类型的东西。
 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 | +-----------------------------------------------------------------------------+ 

如果您无法访问它,则可能是您的图形驱动程序存在一些问题。

  1. 在这种情况下,您应该能够使用lspci | grep VGA找到显卡的名称 lspci | grep VGA
  2. 您可以使用该链接找到适用于您的图形卡的兼容驱动程序。
  3. (尝试没有这个步骤,如果没有成功,可能会执行此步骤)。 使用sudo apt-get purge nvidia*删除现有的损坏的驱动程序。
  4. 使用安装驱动程序

    sudo add-apt-repository ppa:graphics-drivers

    sudo apt-get update

    sudo apt-get install nvidia-390 (或者兼容的驱动程序适用于你的显卡)

  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.

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

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

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.

祝好运!

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!

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.