Ubuntu 陷入登录循环

Cal*_*ers 543 login-screen login lightdm

尝试进入我的桌面时,我的 Ubuntu 卡在登录循环中。当我登录时,屏幕变黑,不久之后登录屏幕又回来了。

我已经读到问题可能是由错误引起的,具体取决于图形,这是我的图形卡:ATI Radeon 7670M

Sid*_*aRT 455

你跑完就到这里了sudo startx吗?尽管如此:

Ctrl+ Alt+F3和登录到外壳。

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

-rw-------  1 root root   53 Nov 29 10:19 .Xauthority
Run Code Online (Sandbox Code Playgroud)

那么您需要执行chown username:username .Xauthority并尝试登录(您可能还需要对 for 执行相同操作.ICEauthority)。

否则,做ls -ld /tmp。检查左侧的前 10 个字母:它们应该完全这样读:drwxrwxrwt

drwxrwxrwt 15 root root 4096 Nov 30 04:17 /tmp
Run Code Online (Sandbox Code Playgroud)

否则,您需要执行sudo chmod a+wt /tmp并再次检查。

如果两者都不是,我会推荐你

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

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

  • 这正是我的问题。开发人员难道不能想到一些简单的事情,比如弹出“尝试编辑 /home/username/.Xauthority 时权限被拒绝。确保用户名具有读/写权限。”?到目前为止,这本可以让 41000 位看过这个问题的人免于头痛。 (71认同)
  • 我有同样的问题, chown username:username .Xauthority 有帮助。但是,有人有解释吗? (19认同)
  • 实际上,我什至不得不删除我的 .Xauthority 才能正常工作。由于某些原因,以上都没有解决我的问题。 (15认同)
  • +1 - 虽然我必须为 .Xauthority 和 .ICEauthority 做这件事 (15认同)
  • @Nacht 不要用 startx 运行 sudo。使用 sudo 运行 startx 正是 Xauthority 文件的权限可以像这样搞砸的方式。以普通用户身份运行 startx,它应该可以工作。如果不是,请检查 .Xauthority 文件的所有权以确保它不再归 root 所有。 (11认同)
  • 不幸的是,登录循环是 Ubuntu 14.04 反复出现的问题;每当我碰到它时,我最终都会得到这个答案,只是为了再次检查它是否解决不了任何问题。不知道为什么它被接受,因为它只解决了文件权限的狭隘情况。在大多数情况下,登录循环是由用户无法解决的 Unity 错误引起的。 (4认同)
  • 一旦我通过重新安装“xserver-xorg”解决了这个问题。第二次 Gnome 不知何故消失了,我不得不重新安装“gnome-session-fallback”。 (3认同)
  • 我也遇到过同样的问题,但这是我的错,因为我修改了 /etc/environment 以添加一些环境变量,但我犯了一个错误。通过遵循@SiddharthaRT 的说明,我能够解决问题。你知道: /usr/bin/sudo /usr/bin/vi /etc/environment (3认同)
  • 我不得不 chown .Xauthority、.ICEauthority 和 .gvfs。这是由于我从 ssh 会话运行 sudo startx 引起的,因为由于某些尚未确定的原因,X 一直关闭 (2认同)
  • >“任何人都有解释”……好吧,通过运行`sudo startx`。> “不要用 startx 运行 sudo... 以普通用户身份运行 startx”,好吧,如果一开始就成功了,我们就不会在这里,现在是吗?。 (2认同)
  • 至少应该有关于通过 sudo 运行 startx 的警告。 (2认同)
  • 否则,执行 ls -ld /tmp。检查左侧的前 10 个字母:它们应该完全如此:drwxrwxrwt。课文读完之后我该怎么办? (2认同)
  • ctrl+alt+f3 和 `sudo apt-get purge lightdm` `sudo apt-get install lightdm` 解决了问题。还有 ctrl+alt+f1 和 ctrl+alt+f3 有什么区别? (2认同)

edi*_*n23 77

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

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

这里的解决方案是nvidia-current从 Ubuntu 存储库安装软件包;这是一个非常过时的版本,但至少经过了正确的测试。它的安装程序也非常强大,它成功地从 Nvidia 网站卸载了我的黑客安装的不稳定版本。

TL; DR,只要尝试登录到所述壳体(Ctrl+ Alt+F2或任何之间˚FF1F6)型和

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-367
Run Code Online (Sandbox Code Playgroud)

如果成功,请重新启动。

sudo reboot
Run Code Online (Sandbox Code Playgroud)

如果你足够幸运,问题解决了,你应该可以登录到 Unity。

更新

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

  • @Moondra:那是一个日志,你为什么要尝试运行它?A/w,对这些文件的操作(读取、写入)需要 sudo,我相信(现在无法测试) (2认同)

小智 65

我遇到了这个确切的问题,上面建议的修复方法都不适合我。在几乎放弃之后,我查看了.xsession-errors并注意到我的错字.profile(我}在当天早些时候编辑后在文件中有一个额外的内容)。

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

  • +1 - 感谢您提及`.xsession-errors` (5认同)
  • 我的情况非常相似。我最近添加了一个 run 函数,用于在我的 .profile 中多次运行命令,该函数虽然像宣传的那样工作,但似乎是我问题的原因。注释掉它修复了它。 (2认同)
  • 这个不错!我遇到了同样的 lightdm 登录循环问题,花了 30 分钟进行故障排除但没有运气(尝试了我能找到的所有可能的解决方法)。原来是`rbenv`引起的`~/.profile`中的语法错误。 (2认同)
  • 这解决了我的问题 - ~/.profile 中的失败行 (2认同)

mbl*_*sco 49

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

sudo mv ~/.Xauthority ~/.Xauthority.backup
sudo service lightdm restart
Run Code Online (Sandbox Code Playgroud)

  • 此命令将“.Xauthority”重命名为“.Xauthority.backup”,该文件存储用于验证 X 会话(基本上是 cookie)的凭据。重命名此文件会导致 xauth 创建一个新的“.Xauthority”文件,从而重新进行身份验证。 (13认同)

Phi*_*oud 31

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

ctrl+ alt+ F1,用户身份登录,腾出一些空间,然后重新启动X服务器!主要是sudo service sddm restart

  • 谢谢,帮了我大忙!以防万一你们不想删除一些文件,你可能需要尝试`sudo apt-get -y autoremove && sudo apt-get -y clean` (4认同)

小智 20

今天遇到了同样的问题。

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

已重新安装xubuntu-desktop,现在已修复。认为apt-get autoremove删除了包。


MiJ*_*Jyn 19

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

sudo apt-get update
sudo apt-get -y dist-upgrade
sudo apt-get -y install fglrx
Run Code Online (Sandbox Code Playgroud)

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

sudo reboot
Run Code Online (Sandbox Code Playgroud)

看看这是否有效:)


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

sudo apt-get -y install lxdm
Run Code Online (Sandbox Code Playgroud)

稍后,这将显示一个类似 DOS 的对话框。如果lxdm未选择,请使用UPDOWN箭头键选择它,然后按ENTER接受该选择。然后使用与之前相同的命令 ( sudo reboot)重新启动。


如果这仍然不起作用,请返回第 3 个终端 ( ALT+ F3),登录并输入此命令(相同步骤):

sudo apt-get -y install lubuntu-desktop
Run Code Online (Sandbox Code Playgroud)

这将安装一个轻得多的桌面环境,这应该对现在的工作(应使您能够登录并使用您的计算机)。完成后,重新启动 ( sudo reboot),当您遇到登录页面时,请选择Lubuntu环境而不是Ubuntu


Win*_*ist 13

您可能在使用 LightDM 时遇到问题,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 设置为您的登录管理器。现在您知道这肯定是您的图形驱动程序的问题。


cot*_*eyr 11

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

Ctrl+ Alt+F1请登录

sudo adduser testing

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


Abb*_*hia 11

这不是对您的情况的直接回答,而是更像是登录循环的通用解决方案。

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

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

~/.xsession-errors
Run Code Online (Sandbox Code Playgroud)

这应该会提供有关某些有问题的命令的一些线索。


Rad*_*anu 10

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

chown username:username .Xauthority 
Run Code Online (Sandbox Code Playgroud)

username我的登录名在哪里,我已经解决了这个问题。


Dig*_*Dig 9

是的,我在我的主要 Ubuntu 12.10 用户上导致了登录循环,修复很简单。

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

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

问题:

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

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

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


小智 9

专有驱动程序问题

MoKSB 状态

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

没有明显的 Xorg 问题。

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

安全启动

注意:不要盲目地删除您的驱动程序!

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

Broadcom 驱动程序Nvidia 驱动程序

我删除了 nvidia 软件包

sudo apt-get purge nvidia-*
Run Code Online (Sandbox Code Playgroud)

然后我删除了 Broadcom 软件包

sudo apt-get purge bcmwl-kernel-source
Run Code Online (Sandbox Code Playgroud)

并重新启动。

我尝试再次登录并成功!

我看到了我的桌面!

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

  • 我重新启动到 BIOS

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

  • 使用 grub 启动 ubuntu

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

  • 使用软件中心安装

  • 并重新启动。

我对我的 nvidia 驱动程序执行了相同的程序,因为我的卡上的默认视频驱动程序很糟糕。

再次开启安全启动

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

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

替代解决方案?

我看到的最可行的解决方案是自定义内核视图,因为我不能简单地关闭安全启动并在切换操作系统时将其打开然后关闭。再一次,这很烦人。

2017 年 1 月 4 日更新

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

GeForce GTX 900 系列与签名固件映像一起加速支持。

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


小智 9

我已经多次遇到这个问题,每次都是不同的问题。之一下列问题可能造成你的问题,你可以通过使用命令行界面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                                       |
+-----------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

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

  1. 在这种情况下,您应该能够使用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. 尝试使用重新启动systemctl reboot -i并希望您的登录循环得到修复。

你的家是你的家吗?

  1. 使用检查主目录的所有者 ls -l /home
  2. 如果您不拥有您的主目录,请使用 sudo chown $USER:$USER $HOME
  3. 尝试使用 systemctl reboot -i 重新启动,并希望您的登录循环得到修复。

您拥有 .Xauthority 吗?

  1. 使用检查主目录的所有者 ls -l ~/.Xauthority
  2. 如果您不拥有 .Xauthority,请使用更改它 sudo chown $USER:$USER ~/.Xauthority
  3. 如果这样做,请使用移动 .Xauthority 文件 sudo mv ~/.Xauthority ~/.Xauthority.bak
  4. 尝试使用 systemctl reboot -i 重新启动,并希望您的登录循环得到修复。
  5. 您可能需要在 .ICEauthority 上做同样的事情。

你的 /tmp 对吗?

  1. 运行ls -ld /tmp并确保权限完全正确drwxrwxrwt。输出应该是这种类型

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

  1. 如果没有,运行 sudo chmod a+wt /tmp
  2. 尝试使用 systemctl reboot -i 重新启动,并希望您的登录循环得到修复。

也许 lightdm 是你的问题?

  1. 使用dpkg-reconfigure lightdm并尝试其他可用的显示管理器(gdm3、lightdm)重新配置您的显示管理器。也许这会给你足够的线索来继续前进。
  2. 如果他们都没有帮助,请尝试安装 sddmsudo apt-get install sddm 用于最后一次尝试。将显示重新配置为 sddm。

如果上述解决方案均无效,您可以尝试重新安装 ubuntu。

PS:这是我参考的来源的答案汇编,其中一些也来自这篇文章。


小智 8

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

sudo chmod 755 /home/<username>
Run Code Online (Sandbox Code Playgroud)

这可以通过登录到终端,在 shell 中使用您的用户名和密码来完成CtrlAltF1


小智 5

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

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

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

sudo chmod 1777 /tmp
sudo chown root:root /tmp
Run Code Online (Sandbox Code Playgroud)

之后,我可以再次使用普通帐户登录Unity。因此,如果您遇到了问题.Xauthority,如果其他方法都不起作用,您可以尝试此方法。

请参阅Ubuntu 论坛上的此主题


Fin*_*sen 5

我得到了与从 Ubuntu 12.04 到 14.04 的更新有关的登录循环。妊娠期糖尿病我有错误讯息在〜/ .cache / GDM / SESSION.LOG的条目,如/etc/gdm/Xsession: line 33: mktemp: command not foundsudo aptitude purge gdm与lightdm我有几个类似的错误消息 ~/.xsession-errors,如usr/sbin/lightdm-session: line 24: mktemp: command not found

我尝试了几件事。我相信最终为我解决了这个问题的是:

我动了我的配置文件.profile.bashrc.pam_environment以其他名字,然后我设法登录。我怀疑其中一个有问题。


Cir*_*郝海东 5

sudo chown $USER:$USER $HOME
Run Code Online (Sandbox Code Playgroud)

是我的问题。

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

sudo mkdir /home/$USER
Run Code Online (Sandbox Code Playgroud)

但忘记了chown


归档时间:

查看次数:

1186027 次

最近记录:

4 年,10 月 前