登录循环14.04但访客帐户可访问

从13.10升级到14.04后工作正常,我无法通过登录,因为它只是循环回来。 来宾帐户工作正常。 我可以使用usernamepassword 按Ctrl + Alt + F1登录控制台。 不确定是什么导致了问题。

更新:

  • 显卡是N9500GT

  • 尝试chown username:username .Xauthority但现在只能在登录时使用密码启动屏幕。 同样的事情发生在GDM中。

  • 还试过sudo mv .Xauthority .Xauthority.bak没有变化。

  • 试过cat ~/.xsession-errors但得到的消息一开始就无法保存user-dirs.dirs,然后提供更多的消息和停止。

如何查看.xsession-errors文件中的内容。

当我两天前遇到登录循环时,我想我应该分享。 无论如何,这适用于Linux新手。

在其他线程中搜索解决方案,您会发现有一个主导解决方案:两个文件的访问权限, .Xauthority.IDEauthority

如何查找您是否“拥有”这些文件?

以访客身份登录,无论如何您可能已经使用互联网。

使用Ctrl + Alt + F2打开登录终端,或者选择+ F3 ,+ F4 ,依此类推,直到F6

Ctrl + Alt + F7会将您带回桌面,因此您可以来回切换。

(我将在ASUS-S400CA上使用Ubuntu版本14.04作为示例。)您将看到如下内容:

 Ubuntu 14.04.2 ASUS-S400CA tty2 ASUS-S400CA login: 

输入您的用户名。 (您的用户名是您在安装时选择的昵称,而不是您在实际登录屏幕上可能看到的全名。),然后输入您的密码。

 Ubuntu 14.04.2 ASUS-S400CA tty2 ASUS-S400CA login: yourusername Password: 

你现在应该看到:

 yourusername@ASUS-S400CA:~$ 

如果您的登录循环是由前面提到的文件缺少访问权限引起的,我们可以这样检查:

 ls -ld ~/.*authority 

如果你那么

 -rw------- 1 root root 2015 May 24 12:38 .ICEauthority -rw------- 1 root root 2015 May 24 12:38 .Xauthority 

代替

 -rw------- 1 yourusername yourusername 2015 May 24 12:38 .ICEauthority -rw------- 1 yourusername yourusername 2015 May 24 12:38 .Xauthority 

你必须使用chown命令来取回你的访问权限:

 sudo chown yourusername:yourusername ~/.Xauthority 

如果有必要,同样适用于.IDEauthority 。 请注意,您必须使用ls命令再次validation结果。 但是,没有错误消息是一个好兆头。

您的shell无法识别您输入的任何命令?

这可能是登录循环的主要原因,因为login本身只是一个命令。

如何在这些情况下使用命令?

shell为您提供了两条信息:首先,命令无法访问。 其次,它可以在例如

 /usr/bin 

在这种情况下,上面提到的代码看起来 – 取决于命令的“可执行文件”在您的系统中的位置 – 如下所示:

 /usr/bin/ls -ld ~/.*authority /usr/bin/sudo /bin/chown yourusername:yourusername ~/.Xauthority /usr/bin/sudo /bin/chown yourusername:yourusername ~/.IDEauthority 

你的命令提示符(shell,终端,命令行)识别并执行命令(包括login命令)的原因是,因为它们的目录路径 – 比如/ usr / bin,/ bin,/ sbin等 – 都是保存在文件中。 在那里,它们被赋予一个名为PATH的变量的值。 (有关Linux术语的易于理解的解释,请查看linfo.org。在本例中为linfo.org/path_env_var.html )

要检查PATH中保存了哪些路径,请键入

 echo $PATH 

或其与目录结构的等效命令。

它可能会给你一些类似的东西

 /usr/local 

但是,它应该看起来像:

 /usr/bin:/usr/sbin:/bin:/sbin:/usr/local/:/usr/local/bin:/usr/local/sbin 

冒号之间的不同目录可以按任何顺序排列。

要临时保存,并能够使用命令,请键入

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

要使这些更改成为永久更改,您必须将其保存在定义PATH变量的相应文件中。

根据您的登录shell类型,这可能是一个不同的文件,因为不同的登录shell首先读取某些文件。 要找出您正在使用的shell,请在命令行中键入echo $SHELL 。 无论如何你有可能会回来/bin/bash 。 (另外,终端给你的关于在哪里找到命令的提示可能以-bash开头。)(有关更多信息,请查看设置环境变量的最佳发行版/ shell不可知方式是什么?以及登录shell和非-login shell / 46856#46856 )

如果你的shell是bash,最简单的选择是在你的主目录中编辑.profile文件~ ,这相当于/home/yourusername 。 如果您暂时将目录保存到命令中,则可以通过键入来打开该文件

 gedit ~/.profile 

这将使用相应的文本编辑器gedit打开文件。 (万一你出于某种原因没有gedit,请将aptitudeapt-get命令与sudo结合使用,然后安装gedit或任何你喜欢的文本编辑器: sudo apt-get install gedit 。)

在该文件的末尾,您可能会发现以下内容:

 # set PATH so it includes user's private bin if it exists if [ -d "$HOME/bin" ] ; then PATH="$HOME/bin:$PATH" fi PATH=usr/local 

但是,PATH应该如上所述定义。 只需添加其他目录:

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

保存文件,重新启动系统,你应该(希望)好好去。

登录 循环 14.04 无法 登录屏幕

我有同样的问题。 当我通过tty登录我的帐户时(通过按ctrl + alt + F1 ,它说~/.profile文件中有一个错误(我一直在那里搞乱)。修复错误后我能够记录在。

查找任何错误消息并尝试修复它们。

我也有这个问题,但最终解决了这个问题。

没有必要删除~/.profile ,但该文件是导致问题的原因。 只要确保它不会向STDOUT打印任何东西 (也可能是STDERR)。

一旦我从~/.profile文件中删除了打印,我就可以使用GDM登录了。

Ctrl + Alt + F1进入终端。 并运行以下命令。

 sudo chown -R $USER:$USER /home/$USER 

我猜你的/ home文件夹的权限已经被改变了。

我有相同的登录循环问题,我尝试了我在网上找到的所有东西,但唯一有用的是删除我拥有的大文件。 我想我的自由空间已经耗尽了。

我有完全相同的问题从14.04升级到16.04。 这对我有用:

Ctrl + Alt + F1

提供登录凭据,然后运行

 sudo service lightdm stop sudo service lightdm start sudo startx 

使用终端启动然后键入:

 sudo nano /etc/lightdm/lightdm.conf 

如果你之前在那里写过,删除任何东

Ctrl + O,然后按Enter键保存, 按Ctrl + X退出。

您可以在这篇关于如何禁用来宾帐户的上述post中阅读更多内容。

在尝试其他解决方案失败后,我尝试检查我的~/.profile 。 我找不到任何错误,所以我删除了~/.profile并重新启动了系统。 它工作正常。

最好找到错误并在~/.profile修复它们,但如果不能,请尝试删除该文件。