在线升级到 18.04 后登录时出现身份验证错误

Sle*_*ohn 8 upgrade login 16.04 18.04

我在 2019 年 2 月尝试从 16.04.2 在线升级到 18.04.2,但一直无法超越 grub 之后的初始 GUI 登录,因为它总是显示身份验证错误。

这是我迄今为止尝试过的...

Ubuntuforums 上的 3 个帖子:

注意到我的 GUI 登录用户名以首字母大写显示,而我的正确用户名以小写字母开头。按“未显示”并尝试输入正确的用户名,但出现类似的身份验证错误结果。

Ctrl+ Alt+F3并尝试 tty3 登录:使用小写用户名成功

$ # brought up a small GUI display in top left hand corner of my
$ # screen, but too small to read what it said
$ sudo startex

$ # didn't fix my GUI login
$ sudo chmod 7755 /usr/lib/policykit-1/polkit-agent-helper-1

$ sudo apt install -f
0 to upgrade, 0 to newly install, 0 to remove, 5 not to upgrade

$ sudo apt-get update
fetched 432Kb in 2s

$ sudo apt-get install ubuntu-desktop
already newest version (1.417)

$ sudo apt-get install gnome-core lightdm
unable to locate package gnome-core
Run Code Online (Sandbox Code Playgroud)

我已经阅读了 Ask Ubuntu 对这些问题的回答:

总而言之,我已经努力了一个多月让我的 ThinkPad L520 的 18.04 工作没有任何成功,所以现在寻找可能有助于我作为一个缓慢的老笨蛋的建议问题。


在完成了 Simon 的建议之后,我仍然没有确切地发现哪些地方工作不正常或设法解决了任何问题,所以在下面,我正在反馈我尝试过的结果,希望能得到更多建议

尝试修复“5 not to upgrade”

sudo apt-get dist-upgrade --yes
Run Code Online (Sandbox Code Playgroud)

这次确实进行了一些升级,但是当我在 tty3 上工作时,我无法复制它所做的事情。此时我又回去尝试了 GUI 登录,但没有任何改进;仍然像以前一样闪烁着简短的身份验证错误消息,然后是一个空白的灰色屏幕,除了重新启动之外没有任何响应

像使用 ctrl+alt+F3 一样登录控制台并检查输出 ps axf

这生成了一个很长的输出列表,我再次无法复制,但输出仅在 195 到 1621 的范围内,因此没有 1838 到 2276 的结果。

监视 auth 和 syslog 并返回登录屏幕 ctrl+alt+F1

sudo tail -f /var/log/syslog /var/log/auth.log
Run Code Online (Sandbox Code Playgroud)

为了看到这个结果,我使用了我的 live 18.04 -2 DVD 磁盘来加载一个 LIVE 会话并/var/log从那里导航到那里。

auth.log我发现覆盖2小时我的试验和错误的,所以它的281KB我认为最好把它上传到我的OneDrive云文件夹,其中也有我的GUI登录失败尝试的一些相机照片。

分析这个冗长的auth.log文件并试图找出问题所在,这超出了我的能力。希望上传此内容auth.log会引发一些关于尝试什么的进一步建议,我应该能够在 5 月的第 2 周之前更好地亲自处理这些建议。

Sim*_*ler 8

从 16.04 升级到 18.04 时,有很多事情可能会出错。然而,大多数这些事情都很容易解决。所以首先你需要找到什么不能正常工作。

修复包

在您提到的帖子中,apt-get返回以下消息:

$ sudo apt install -f
0 to upgrade, 0 to newly install, 0 to remove, 5 not to upgrade
Run Code Online (Sandbox Code Playgroud)

尝试用 修复“5 不升级”sudo apt-get dist-upgrade --yes或用 删除它们sudo apt-get --purge autoremove

调试GUI登录

登录控制台像你一样用ctrl+ alt+F3和检查的输出:

$ ps axf
....
1838 ?        Ssl    0:00 /usr/sbin/gdm3
1893 ?        Sl     0:00  \_ gdm-session-worker [pam/gdm-launch-environment]
2213 tty1     Ssl+   0:00  |   \_ /usr/lib/gdm3/gdm-wayland-session gnome-session --autostart /usr/share/gdm/greeter/autostart
2252 tty1     Sl+    0:00  |       \_ /usr/lib/gnome-session/gnome-session-binary --autostart /usr/share/gdm/greeter/autostart
2276 tty1     Sl+    0:02  |           \_ /usr/bin/gnome-shell
....
Run Code Online (Sandbox Code Playgroud)

在标准的 Ubuntu 安装(使用 gnome)中,gdm-session-worker应该会运行并提供登录屏幕。(您可以使用shift+向上/向下滚动pageup/pagedown

然后监视authsyslog并返回到登录界面ctrl+ alt+F1

sudo tail -f /var/log/syslog /var/log/auth.log
Run Code Online (Sandbox Code Playgroud)

登录失败后,返回控制台(再次ctrl+ alt+ F3)并检查输出是否有错误消息。这应该会给您一个提示,下一步该往哪里看。

修复 /etc/environment 文件

查看/var/log/auth.log文件的输出时,您会发现一条重复出现的消息:

Apr 17 10:05:16 TP-L520 gdm-launch-environment]: pam_env(gdm-launch-environment:session): non-alphanumeric key 'date +%d.%m.%Y' in /etc/environment', ignoring
Apr 17 10:05:16 TP-L520 gdm-launch-environment]: pam_unix(gdm-launch-environment:session): session opened for user gdm by (uid=0)
Apr 17 10:05:16 TP-L520 systemd-logind[945]: New session c56 of user gdm.
Apr 17 10:05:16 TP-L520 gdm-launch-environment]: pam_unix(gdm-launch-environment:session): session closed for user gdm
Apr 17 10:05:16 TP-L520 systemd-logind[945]: Removed session c56.
Run Code Online (Sandbox Code Playgroud)

看来文件中的某些date命令有问题/etc/enviroment。一个简单的解决方法是备份该文件并在标准值时替换它:

$ sudo cp /etc/environment /etc/environment.backup
$ echo 'PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"' | sudo tee /etc/environment
Run Code Online (Sandbox Code Playgroud)

重新启动并重试。