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

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

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

更新:

  • 显卡是N9500GT

  • 尝试过chown username:username .Xauthority,但现在使用密码登录时只显示启动画面。GDM 中也发生同样的事情。

  • 也尝试过,sudo mv .Xauthority .Xauthority.bak没有变化。

  • 尝试过cat ~/.xsession-errors,但收到的消息以无法保存用户目录.dirs 开头,然后给出更多消息并停止。

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

答案1

由于我两天前遇到了登录循环,所以我觉得应该分享一下。无论如何,这是针对 Linux 新手的。

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

如何确定您是否“拥有”这些文件?

以访客身份登录,您可能已经这样做了以使用互联网。

Ctrl使用+ Alt+打开登录终端F2,或者使用 + F3、 +F4等,直到F6

Ctrl++AltF7您带回到桌面,以便您可以来回切换。

(我将使用 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 命令再次验证结果。不过,没有错误消息是一个好兆头。

你的 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、终端、命令行)之所以能够识别并执行命令(包括登录命令),是因为它们的目录路径(如 /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 和非登录 shell 的区别/46856#46856

.profile如果你的 shell 是 bash,最简单的选择就是在你的主目录中编辑你的文件~,这相当于/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

保存文件,重新启动系统,然后您应该(希望)一切顺利。

答案2

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

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

答案3

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

无需删除您的~/.profile,但该文件是导致问题的原因。只需确保它不会打印任何事物到 STDOUT(也可能是 STDERR)。

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

答案4

我也遇到了同样的登录循环问题,我尝试了网上找到的所有方法,但唯一有效的方法是删除我拥有的大文件。我想我的可用空间已经用完了。

相关内容