Ubuntu16.04密码正确进不了界面

本文详细解析了Ubuntu系统循环登录界面故障的诊断与修复流程,涉及GPU驱动冲突、NVIDIA驱动卸载与重装、CUDA+CUDA驱动一体化安装、cuDNN配置等关键步骤,适用于Ubuntu16.04及类似问题场景。
部署运行你感兴趣的模型镜像

目录

第一步,查问题的原因

(1)搜罗一下网上的回答

(2)查找问题

(3)问题描述

(4)百度问题的解决方式

(5)确定问题的原因

第二步,解决问题---卸载原有的驱动

第三步,一体化安装(CUDA +NVIDIA驱动)+ cuDNN

第四步,其他备注

 

正文

说明:

上次是:Ubuntu 系统循环登陆界面,密码帐号不可操作,键盘鼠标无效。

这次是:ubuntu循环登录,密码帐号都是对的,就是登不进去,一闪又回到登录界面,可以进入tty1界面帐号和密码都能用,就是图形界面登不进去。

 

第一步,查问题的原因

最后,是 按驱动的原因 解决。

 

(1)搜罗一下网上的回答

  Ubuntu 16.04 默认使用的是集显,而且对Nvidia的支持存在巨大的问题。@https://www.jianshu.com/p/85cbb0258d32

 

  nvidia显卡对linux系统一直不是很友好。在众多的桌面发行版上,安装nvidia独立显卡驱动后总是出现各种各样的与集成显卡,不兼容的问题。@https://blog.youkuaiyun.com/u012058778/article/details/88530874

 

  “之前试过几个方法都不行,包括改 /etc/profile,startx,删Xauthority文件等,这些都是因为,形象地来说是药不对症,ubuntu循环登录是有很多个问题造成 的,前面的这些例子只是针对他们自己的问题,你的问题却并不是出在这里。所以我们要看自己的问题出在哪里。当然如果你有记录之前在ubuntu上做了什么 更改就好了,就把它改回来就行,比如刚安装的包把它卸了之类的。”@https://blog.youkuaiyun.com/mangobar/article/details/82218807

 

  当然“Ubuntu 系统循环登陆login loop”的原因不止这些,有时候/etc/profile中改了或者加了些东西导致这些古怪的问题,所以我们需要对症下药。正确的做法是要先去查看主目录下.xsession-errors日志的报错信息,从而去判断原因。与小主有类似的经过,“开在启动界面的事情我第一次装Ubuntu也是遇到过,我知道是显卡驱动的问题,”@https://www.jianshu.com/p/e1f1a1faa867

 

(2)查找问题

复制代码

1.ctrl+alt+F2,出现一个界面,输入自己的login和密码,登录

2.登录之后,运行:ls -a

3.可以看到会有一个.xsession-errors的文件

4.打开这个文件,运行:vim .xession-errors

复制代码

@https://blog.youkuaiyun.com/mangobar/article/details/82218807

 

(3)问题描述

   Ubuntu16.04安装nvidia显卡驱动后卡在登陆界面循环登陆,查看~/.xession-errors文件,显示:

复制代码

 X Error of failed request: BadValue (integer parameter out of range for operation)
    Major opcode of failed request: 154 (GLX)
    Minor opcode of failed request: 3 (X_GLXCreateContext)
    Value in failed request: 0x0
    Serial number of failed request: 32
    Current serial number in output stream: 33
    openConnection: connect: No such file or directory
    cannot connect to brltty at :0

复制代码

@http://www.luyixian.cn/news_show_36539.aspx https://bbs.archlinux.org/viewtopic.php?id=195435问题描述一样,按此方法没解决。

 

(4)百度问题的解决方式

  直接看第一行,去网页里搜这个问题“X Error of failed request: BadValue (integer parameter out of range for operation)”的解决方式。

 

(5)定问题的原因

  多数说是驱动的问题。额...怎么又是驱动的问题,这次不想“用重装系统重装驱动”来解决问题了。

 

第二步,卸载原有的驱动。

ALT+CTRL+F2进入命令行模式:

复制代码

卸载英伟达驱动并重启

sudo apt-get remove --purge nvidia-*

sudo apt-get autoremove #重要,删除安装的nvidia相关一切程序,并不保留配置文件

sudo apt-get install -f #重要,把安装时添加的相关依赖包全删了

sudo reboot

复制代码

 

第三步,一体化安装(CUDA +NVIDIA驱动)+ cuDNN

  先安装NVIDIA驱动再暗转CUDA,一定要注意两者版本的对应要求问题。

  换一种方式,直接在CUDA安装过程中安装NVIDIA驱动,注意先查看电脑配置支持的CUDA版本,然后下载好安装包。

 

(1)下载CUDA安装包

  系统没出问题之前,已经下载好了,放在/home/u/setup/文件夹下了。此步骤,略过。

  系统没出问题之前,下载的安装包没有保存的话,需要找一下如何在线获取安装包进行安装了。比如ppa方式、apt-get方式等。

 

(2)禁用系统自带的nouveau驱动

       系统没出问题之前,已经做过此步,可以在核实一边,也可以略过。

ALT+CTRL+F2进入命令行模式:

复制代码

sudo vim /etc/modprobe.d/blacklist.conf

在文本最后添加以下内容:
blacklist nouveau
option nouveau modeset=0

命令窗口会提示warn,无视之。 

保存退出,执行以下命令生效:
sudo update-initramfs -u
 
重启电脑后,输入:
lsmod | grep nouveau

没有任何输出说明禁用成功。

复制代码

 

(3)安装 CUDA +NVIDIA驱动

       继续在ALT+CTRL+F2命令行模式下:

复制代码

cd setup

ls #找到安装包,记住名字

sudo chmod a+x cuda_10.0.130_410.48_linux.run            #一定要给权限,不然下一步操作没反应

sudo ./ cuda_10.0.130_410.48_linux.run --no-opengl-libs  # sudo sh cuda_10.0.130_410.48_linux.run --no-opengl-libs

注意,命令:./cuda_8.0.44_linux.run –no-opengl-libs (集显需加opengl相关参数)

复制代码

  安装过程的操作:

@https://blog.youkuaiyun.com/qq_41493990/article/details/81980940 验证,出现一些用户许可证信息,有图文。

 

  安装完,重启: sudo reboot

 

cuda主要有以下参数:

    --no-opengl-libs:表示只安装驱动文件,不安装OpenGL文件。必需参数,原因同上。注意:不是-no-opengl-files。

    --uninstall (deprecated):用于卸载CUDA Driver(已废弃)。

    --toolkit:表示只安装CUDA Toolkit,不安装Driver和Samples

    --help:查看更多高级选项。

 

安装过程的选项选择:

(1). 会先有个阅读声明,一直按D即可,然后accept。

(2). 选项install nvidia accelerated Graphics Driver,已经先安装了nvidia驱动的输入n;因为我们还没有安装nvidia驱动,所以记得选y

(3). 选项install the OpenGL libraries,如果双显卡(集显+独显)选择n;如果只有独显可以选择y;如果双显卡选择y的话,会出现黑屏或者循环登录的问题,如果加了上面的参数就不会出现这个选项了。      之前安装一路yes下来的没注意!!!!!!!!!!!

(4). 后面的可以都选择yes,最后一个选项我们可以选择n,也就是不复制Samples,因为安装目录下有samples。

 

安装过程结束后会有以下信息:

Driver :Installed

Toolkit :Installed in /usr/local/cuda-9.2

Samples :Installed in /home/vincent

@https://blog.youkuaiyun.com/wf19930209/article/details/81879514

 

(4)安装 cuDNN

  按之前的流程,再走一遍:

  下载 --- 解压 --- 写一个sh脚本 --- 直接运行sh --- 查看是否正确安装

  【1.下载与解压】同样,也还是去官网上下载CUDA10.0对应的cuDNN版本,下载地址:https://developer.nvidia.com/rdp/cudnn-download。

  【2.写一个sh脚本与运行】

复制代码

# sh ./set_cuDnn.sh

#!/bin/bash

echo "remove libcudnn* file of /usr/local/cuda/lib64"
sudo rm -rf /usr/local/cuda/lib64/libcudnn.s*   #删除旧版本cudnn

echo "copy cudnn.h to usr/local/cuda/include"
#sudo cp /home/user_name/cudnn6/include/cudnn.h /usr/local/cuda/include   #复制cudnn.h文件到/usr/local/cuda/include目录下,这里的user_name改为自己的用户名
sudo cp /home/u/cuda10.0/cuDNN/include/cudnn.h /usr/local/cuda/include   #复制cudnn.h文件到/usr
sudo chmod 777 -R /usr/local/cuda/include    #对复制后的文件解除权限

echo "copy lib* to usr/local/cuda/lib64"
sudo cp /home/u/cuda10.0/cuDNN/lib64/lib* /usr/local/cuda/lib64    #同上
sudo chmod 777 -R /usr/local/cuda/lib64    #同上

sudo ldconfig   #对所有的复制和解除权限操作执行生效


# vim setupcudnn.sh    #新建一个shell脚本文件,文件里面复制下面的内容进去
# 然后保存setupcudnn.sh文件的内容,并执行下面的命令进行安装:
# sudo bash set_cuDnn.sh   #执行setupcudnn.sh脚本中的命令,安装cudnn
# **注意:**这里将安装命令写成脚本文件的好处是,后面如果要进行其他cudnn版本的安装,只要稍加修改这个脚本,然后运行就可以迅速完成安装。例如要安装cudnn7版本,下载cudnn7,解压文件重命名为cudnn7,把脚本文件里的cudnn6修改为cudnn7,然后执行sudo bash setupcudnn.sh 就完成了安装。

复制代码

  【3. 查看是否正确安装】

  cudnn的信息在其头文件里:

  cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2  即可查询

 

第四步,其他备注

(1)ubuntu16.04命令行模式和图形界面的切换?

从图形化界面切换到命令行模式,可以通过按:ALT+CTRL+F1、-----、F6,

为什么是F1、-----、F6,因为在Linux中一般有F1到F6多个命令行字符终端,也就是说我们可以同时打开最多6个命令行界面。

 

(2)命令行 与 图形化界面 的切换?

从命令行模式切换回图形化界面模式,按:ALT+CTRL+F7,其他键无效。除了使用快捷方式ALT+CTRL+F7从命令模式切换回图形界面,也可以通过命令模式来返回。

当我们进入命令行模式之后,

输入命令:startx  即可从命令行模式切换回图形界面了。

输入命令:sudo service lightdm start  也可从命令行模式切换回图形界面了。

 

(3)Ubuntu18.04系统坏掉之后,如何拷贝出系统中的重要文件?

@https://blog.youkuaiyun.com/yy2yy99/article/details/93490598

 

(4)如何判断电脑使用的是集显还是独显?

一般:Intel集显,Nvidia独显

@http://www.dianping.com/education/a93819117

@https://jingyan.baidu.com/article/0964eca242e4988284f53667.html

@https://product.pconline.com.cn/itbk/software/dnyw/1703/8927455.html?_=1507657311 图文

 

(5)卸载驱动,命令方式参考

复制代码

sudo apt remove --purge nvidia*  #完全卸载N卡驱动
sudo service lightdm stop         #关闭图形界面

#禁用nouveau驱动
#在/etc/modprobe.d/blacklist.conf中加入如下内容:
blacklist nouveau
options nouveau modeset=0

#然后执行
sudo update-initramfs –u
 
#安装Nvidia驱动
sudo add-apt-repository ppa:xorg-edgers/ppa
 
#添加ppa源
sudo add-apt-repository ppa:graphics-drivers/ppa 
sudo apt update

#更新apt-get
sudo apt install nvidia-375

#最后别忘了打开图形化界面
sudo service lightdm start

----------------------------------
下面再执行相关的删除操作
sudo apt-get remove --purge nvidia-*
 
删除安装的nvidia相关一切程序,并不保留配置文件
sudo apt-get autoremove

把安装时添加的相关依赖包全删了
sudo apt-get install –f 

修复之间的依赖关系
上面三行代码执行完基本可以说可以在不损坏其他应用程序的前提下完整安全的删除一个程序集,之后reboot重启

-----------------------------------------
卸载英伟达驱动并重启
sudo apt-get remove --purge nvidia-*
sudo apt-get autoremove #特别重要
sudo apt-get install -f #特别重要
sudo reboot

重新安装英伟达驱动,由于许多同学可能会忘记自己显卡是什么型号的,或者电脑中没有现成的显卡驱动,或者觉得下载下来再复制到待安装中的电脑过于麻烦。
总之就是想在线安装,在命令行中直接执行一句话那种嘛~
更新源
sudo apt-get upgrade
sudo apt-get update
 
查询nvidia驱动可用版本
sudo apt-cache search nvidia-*

选择其中最新的版本进行安装,我们这里只是距离安装384,具体版本需要根据你们的实际情况安装
sudo apt-get install nvidia-384

然后发现显示屏的分辨率正常了,并且不再循环登陆了@https://blog.youkuaiyun.com/dugudaibo/article/details/84255472
-----------------------------------------------

复制代码

 

(6)版本

  以前先安装NVIDIA驱动再暗转CUDA,两者版本:

NVIDIA-Linux-x86_64-410.93.run

cuda_10.0.130_410.48_linux.run

 

  在CUDA+NVIDIA驱动一起安装,两者版本:

cuda_10.0

NVIDIA-410.48

 

  附,电脑的基本配置信息:

复制代码

1.机箱(主机的外壳,用于固定各个硬件) :
2.电源(主机供电系统,用于给主机供电稳压):1250W(一个电源)
3.主板(连接主机内各个硬件的躯体):Z390 AORUS PRO(WIFI)(技嘉GIGABYTE)
4.CPU(主机的大脑,负责数据运算处理):Inter? CoreTM i7-8700K CPU@3.70GHz×12
5.内存(暂时存储电脑正在调用数据):64G DDR4 2666 金士顿
6.硬盘(主机的存储设备,用于存储数据资料):250G(三星SSD)+4T希捷
7.声卡(处理计算机的音频信号,有主板集成和独立声卡):
8.显卡(处理计算机的视频信号,有核心显卡(集成)及独立显卡):(技嘉)英伟达GeForce RTX2080 ti 11G
9.网卡(处理计算机与计算机之间的网络信号,常见个人主机都是集成网卡,多数服务器是独立网卡)
10.散热器(主机内用于对高温部件进行散热的设备)

复制代码

   附,爬坑中的部分截图:

 

 

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

<think>嗯...用户遇到了经典的Ubuntu登录循环问题,而且明确提到在安装NVIDIA驱动后出现故障,这个场景太典型了。用户引用的站内讨论其实是另一个案例的误贴,重点应该聚焦在ta自己描述的"NVIDIA驱动安装后导致GUI登录循环"这个核心问题上。从技术细节来看,用户通过SSH还能访问系统,说明系统本身是运行的,只是显示服务出了问题——这通常和驱动配置、Xorg服务或LightDM显示管理器有关。考虑到Ubuntu16.04版本较老,需要特别注意驱动兼容性。用户没有说明具体安装的驱动版本,但GTX1050属于Pascal架构,应该用384.x或390.x分支的驱动比较稳妥。不过当前首要任务是让系统恢复图形界面。修复思路应该分三步走:首先卸载问题驱动并恢复基础图形环境;其次排查Xorg和LightDM的日志;最后才是重新安装经过验证的驱动版本。用户可能对终端操作有些基础(毕竟能用SSH),但需要给出明确指令,比如特定日志路径和清理残留驱动的方法要具体。需要特别提醒用户备份Xorg配置文件,这种老版本系统配置文件的位置和新版本不同。另外注意到用户最初是尝试了"blackliststuff"操作导致问题加剧,说明教程里的某些步骤可能是危险的,需要重点指导如何回退这些修改。最后要给出双保险方案:如果安全模式无法进入的情况下的终极解决方案。毕竟这种驱动问题严重时可能导致系统无法启动图形界面,需要准备TTY终端操作的完整方案。</think> 好的,针对您Ubuntu 16.04安装NVIDIA驱动后出现的登录界面循环问题(输入密码后闪退回到登录界面),结合引用信息中的关键点(尝试了教程步骤2,有报错,有SSH访问),以下是最可行的解决方案步骤: ### 核心问题诊断 此问题通常由**错误的NVIDIA驱动安装**、**相关的显示管理器(如LightDM)配置损坏**、**Xorg配置冲突**或**用户主目录权限问题**导致。您的情况(安装驱动后出现)基本确定是**驱动或Xorg配置**问题。 --- ### 解决方案步骤(通过SSH操作) 1. **移除问题驱动并清除配置文件**: 卸载当前安装的NVIDIA驱动及其残留配置文件是解决问题的关键。 ```bash sudo apt-get purge nvidia-* # 卸载所有NVIDIA驱动包 sudo apt-get autoremove # 自动移除不再需要的依赖包 sudo apt-get install --reinstall ubuntu-desktop # 重装桌面环境核心包 ``` 2. **删除手动创建的Xorg配置文件**: 许多教程会要求手动创建Xorg配置文件,这些文件可能导致冲突。 ```bash sudo rm /etc/X11/xorg.conf # 删除可能存在的自定义配置文件 ``` > ⚠️ **注意**:如果之前创建了名为`xorg.conf`、`xorg.conf.d`文件夹内的配置文件或`/etc/X11/xorg.conf`,删除它们是关键一步。 3. **移除Nouveau驱动黑名单并重载内核模块** (回退引用中的“Step 2”): 如果教程让您黑名单了开源驱动`Nouveau`,需要移除黑名单并重新加载它: ```bash sudo rm /etc/modprobe.d/blacklist-nvidia-nouveau.conf # 删除自定义的nouveau黑名单文件 sudo modprobe nouveau # 尝试重新加载nouveau驱动模块 ``` 检查`lsmod | grep nouveau` 是否有输出,确认nouveau是否加载。 4. **修复或重新配置显示管理器 (LightDM)**: LightDM损坏是登录循环的常见原因。 ```bash sudo dpkg-reconfigure lightdm # 重新配置LightDM,选择LightDM作为默认 sudo systemctl restart lightdm # 重启LightDM服务 ``` 确保在`dpkg-reconfigure`提示中选择**lightdm**(通常是用方向键选择,按回车确认)。 5. **检查用户主目录权限** (可选但推荐): 错误的`.Xauthority`文件权限有时也会引发问题。 ```bash sudo chown -R $USER:$USER $HOME # 修复用户主目录权限 sudo rm ~/.Xauthority* ~/.ICEauthority # 删除可能损坏的X授权文件 ``` 重启系统或尝试重新登录图形界面。 --- ### 重启与验证 执行完以上步骤后,**重启系统**: ```bash sudo reboot ``` **重启后观察**: * 系统**应该**使用开源`nouveau`驱动进入图形界面。 * 如果能成功登录,表明**问题驱动和配置已被清除**。 --- ### 安全重装NVIDIA驱动 (可选 - 如果仍需专用驱动) 如果仍需NVIDIA驱动: 1. **通过官方源安装稳定版驱动** (优先推荐): ```bash sudo apt update sudo ubuntu-drivers autoinstall # 让系统自动检测并安装合适的驱动版本 # 或者 手动选择已知兼容的版本 (如 384、390系列对GTX 10系较稳定) sudo apt install nvidia-driver-390 ``` 2. **重启**: ```bash sudo reboot ``` 3. **验证安装**: 登录后用命令检查: ```bash nvidia-smi # 查看GPU状态和驱动版本 ``` 确认输出中有正确的驱动版本和GPU信息。 --- ### 关键说明 1. **备份与谨慎操作**:删除配置文件和`sudo`命令需谨慎操作,确保命令输入正确。 2. **Nouveau是临时方案**:步骤1-4的目的是通过回归到系统自带的开源驱动`nouveau`让您能正常进入桌面。**这不影响后续再次安装官方NVIDIA驱动**。 3. **驱动版本选择**:对于您的GTX 1050 (Pascal架构),`nvidia-driver-390`或`nvidia-driver-470`通常是安全选择。`ubuntu-drivers autoinstall` 通常能正确选择。避免使用过新版本。 4. **日志排查**:若问题持续,登录SSH后检查日志定位问题根源: * Xorg日志: `cat /var/log/Xorg.0.log | grep -i EE` (找 **EE** 错误) * LightDM日志: `journalctl -u lightdm` 或 `cat /var/log/lightdm/lightdm.log` * 系统日志: `journalctl -b -p 3` (显示当前启动的严重错误) 按照这些步骤操作,您应该能解决由NVIDIA驱动安装不当引起的Ubuntu 16.04登录循环问题,并能够安全地重新安装合适的驱动[^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值