如果稍不注意:系统内核、GCC、下载的版本不对应、安装过程中选项选择不正确,在NVIDIA驱动 + CUDA 安装完后可能会遇见一些问题。

一、登陆不进桌面

可能的操作:

(1)nivida驱动安装完之后,重启电脑,发现GPU无法正常使用,出现无法登录桌面系统、分辨率改变等问题。

(2)CUDA安装完之后,重启电脑,发现GPU无法正常使用,出现无法登录桌面系统。

(3)系统软件升级之后(一般是使用了 sudo apt-get update),重启,在登陆界面输入密码后,回车,闪现一次黑屏和一些代码,然后又重新回到登陆界面。

(4)点了ubuntu系统自动提示的软件升级以后,重启电脑导致。

(5)ubuntu 正常使用过程中,有些使用/安装需要软件升级,无意操作,更新软件的同时更新了内核。

可能的原因分析:

1、主目录下的.Xauthority文件拥有者变成了root,从而以用户登陆的时候无法都取.Xauthority文件。从而造成用户登陆不进入系统桌面。

说明:Xauthority,是startx脚本记录文件。Xserver启动时,读文件~/.Xauthority,读入对应其display的记录。当一个需要显示的客户程序启动调用XOpenDisplay()也读这个文 件,并把找到的magic code 发送给Xserver。

当Xserver验证这个magic code正确以后,就同意连接啦。观察startx脚本也可以看到,每次startx运行,都在调用xinit以前使用了xauth的add命令添加了一个新的记录到~/.Xauthority,用来这次运行X使用认证

#系统的Xauthority文件出现了问题,当前用户无权限调用他,所以使用rm -rf .Xauthority删除他,也有说使用sudo chown usrname .Xauthority将权修改为当前用户的。

2、系统软件升级后与Nvidia的驱动冲突。

@https://www.cnblogs.com/yongpan/p/9645684.html

解决方法

针对可能的原因分析1:

将.Xauthority的拥有者改为登陆用户。

操作过程:

开机后在登陆界面按下shift + ctrl + F1进入tty命令行终端登陆后输入:

$ cd ~

$ sudo chown hp:hp .Xauthority (若为其他用户名修改成相应的名称即可)

然后再次输入: ls .Xauthority -l

成功后显示如下: -rw-------  hp hp  1月  : .Xauthority

此时拥有者已经变为用户。按下shift + ctrl + F7切换回图形登陆界面登陆即可。

参考:https://blog.csdn.net/u010925447/article/details/72236387

另,参考:

进入shell,在home目录下找到.xsession-errors文件
# cd home 查看是否有.xsession-errors
cd ~
ls -a
#用vi打开.xsession-errors文件
vi .xsession-errors 接着你就可以看到里面的日志信息,按照日志里面的信息去google,也许可以解决驱动安装的办法。

针对可能的原因分析2:

出现这个问题最大的可能原因是安装的Nvidia驱动和系统或者硬件有不兼容,下载新的驱动一般可以解决问题。卸载驱动,升级或者降级内核版本。

卸载:由于登陆进入不到图形用户界面(GUI),但我们可以进入到文本用户界面(TUI)。

卸载NVIDIA驱动,重新安装 unity 桌面。参考以下几种方式:

进入到shell,开始卸载NVIDIA驱动:
sudo apt-get remove --purge nvidia-* #sudo apt-get remove --purge nvidia-331-updates 卸载指定版本
sudo apt-get install ubuntu-desktop
sudo rm /etc/X11/xorg.conf
echo 'nouveau' | sudo tee -a /etc/modules
#重启系统
sudo reboot ----------------------------------
sudo apt-get purge nvidia-*
sudo apt-get autoremove
sudo apt-get --purge remove nvidia-*
remove 之后,nvidia-smi 看驱动是否还在。 如果还在,说明没卸载掉:
查看nouveau模块是否被加载。如果什么都没输出,则执行下一步。
根本问题在于参数: --no-opengl-filessudo /etc/init.d/lightdm stop
sudo ./NVIDIA-Linux-x86_64-375.20.run --no-opengl-files
sudo /etc/init.d/lightdm start

即可以正常登录界面了!! ----------------------------------

(1) 按ALT + F1进入命令行模式,查找显卡驱动.run的安装文件存放位置:

find . -name NVIDIA-Linux-x86_64-375.39.run

(2) 跳转到该文件所在位置,运行如下命令卸载该驱动:

sudo bash ./NVIDIA-Linux-x86_64-375.39.run –uninstall

$ sudo apt-get autoremove --purge nvidia-* #把nvidia驱动清个干干净净

$ sudo reboot         #一定记得重启,不然你会后悔的!

在登陆界面状态下,按Ctrl + Alt + f1,进入TUI执行
sudo /usr/bin/nvidia-uninstall
然后重启
sudo reboot
如果装完之后出现循环登录,可以卸载之后添加--no-opengl-files选项重新安装一次

卸载NVidia驱动
sudo ./NVIDIA-Linux-x86_64-xxx.xx.run –uninstall #用下载的安装程序进行卸载。如果安装的是官网下载的驱动,则重新运行run文件来卸载
或者
nvidia-uninstall #用安装出来的可执行脚本卸载

当输入安装指令时,不要简单地输入 sudo ./....run,而是输入:

sudo ./NVIDIA.run -no-x-check -no-nouveau-check -no-opengl-files

-no-x-check:安装驱动时关闭X服务

-no-nouveau-check:安装驱动时禁用nouveau

-no-opengl-files:只安装驱动文件,不安装OpenGL文件

这样再reboot,就不会出现循环登录的问题。


如果在安装CUDA时候一起安装的Nvidia驱动。

-----------------------------------------------------------
Description This package includes over + CUDA examples that demonstrate
various CUDA programming principles, and efficient CUDA
implementation of algorithms in specific application domains.
The NVIDIA CUDA Samples License Agreement is available in
Do you accept the previously read EULA?
accept/decline/quit: accept Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.48?
(y)es/(n)o/(q)uit: y # 单独安装nvidia驱动,这里选择 n Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y Enter Toolkit Location
[ default is /usr/local/cuda-8.0 ]: Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y Enter CUDA Samples Location
[ default is /home/c302 ]: Installing the CUDA Toolkit in /usr/local/cuda-8.0 ...
Installing the CUDA Samples in /home/c302 ...
Copying samples to /home/c302/NVIDIA_CUDA-.0_Samples now...
Finished copying samples. ===========
= Summary =
=========== Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-8.0
Samples: Installed in /home/c302 Please make sure that
- PATH includes /usr/local/cuda-8.0/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/bin Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA. ***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
sudo <CudaInstaller>.run -silent -driver Logfile is /tmp/cuda_install_9045.log -------------------------------------------------------- 这种,可以采用 一起卸载 CUDA 以及 NVIDIA驱动的形式卸载NVIDIA驱动。   参考一:

CUDA安装:  sudo apt install nvidia-cuda-toolkit

卸载CUDA:  sudo apt purge --autoremove cuda

sudo apt purge --autoremove nvidia-cuda-toolkit  #sudo apt-get purge --auto-remove nvidia-cuda-toolkit

  参考二:

卸载CUDA很简单,一条命令就可以了,主要执行的是CUDA自带的卸载脚本,要根据自己的cuda版本找到卸载脚本:
sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl
卸载之后,还有一些残留的文件夹,之前安装的是CUDA 8.0。可以一并删除:
sudo rm -rf /usr/local/cuda-8.0/

cd /usr/local/cuda6.5/bin/

sudo ./uninstall_****

  参考三:

卸载CUDA

只针对对于.run方式安装的,其他的没有进行测试

打开终端,输入: sudo /usr/local/cuda-10.0/bin/uninstall_cuda_10.0.pl

执行完后,删除cuda文件即可

同时卸载nvidia驱动:sudo /usr/bin/nvidia-uninstall

卸载cuDNN

打开终端,输入:

sudo rm -rf /usr/local/cuda/lib64/libcudnn

sudo rm -rf /usr/local/cuda/include/cudnn.h

然后,可以选择把自己下载的文件也删除掉,这个需要到自己存放文件的地方删除了,不同的人存放的地方可能不同,在这不过多累述。

打开~/.bashrc, 删除:

export PATH=$PATH:/opt/cuda/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/cuda/lib:/opt/cuda/lib64

  参考四:

sudo apt-get remove cuda

sudo apt-get autoclean

然后在目录切换到/esr/local/下

cd /usr/local/

sudo rm -r cuda-9.0

  参考五:

sudo ./CUDA-x86_64-X.X.run --uninstall

 二、验证CUDA Toolkit :$ nvcc -V ,会输出CUDA的版本信息,但如果是这样的:
   The program 'nvcc' is currently not installed. You can install it by typing:
   sudo apt-get install nvidia-cuda-toolkit   # sudo apt-get remove nvidia-cuda-toolkit

(1)可能是 Install the CUDA 8.0 Toolkit?  这一步没安装,选择了 n。  可以尝试: sudo apt-get install nvidia-cuda-toolkit ,
在查看cat /usr/local/cuda-10.0/version.txt 与 nvcc --version 显示版本是否一致。

(2)可能是环境配置没有成功,重设置环境变量,使其在系统中生效。@https://blog.csdn.net/qlulibin/article/details/78714596
查看 路径 /usr/local/cuda-9.0/bin 下是否有 nvcc 这个可执行文件,有则说明cuda安装是成功的。
配置环境:
  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64
  export PATH=$PATH:/usr/local/cuda-9.0/bin
  export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-9.0
sudo ldconfig 径设置是生效的。

卸载完,一定要检验:是否已经卸载完毕。

https://blog.csdn.net/Hover_May/article/details/81236886  Ubuntu 16.04陷入登录循环 的4种原因

ubuntu---NVIDIA驱动 + CUDA 安装完可能会遇见的问题的更多相关文章

  1. Ubuntu系统---“NVIDIA 驱动+CUDA+cuDNN ”之后 OpenCV安装

    Ubuntu系统---“NVIDIA 驱动+CUDA+cuDNN ”之后 OpenCV安装 目录: 一.OpenCV安装包下载 二.cmake安装 三.OpenCV安装 正文 一.OpenCV安装包下 ...

  2. # Ubuntu16.04安装nvidia驱动+CUDA+cuDNN

    Ubuntu16.04安装nvidia驱动+CUDA+cuDNN 准备工作 1.查看GPU是否支持CUDA lspci | grep -i nvidia 2.查看Linux版本 uname -m &a ...

  3. Ubuntu18.04安装RTX2080Ti+NVIDIA驱动+CUDA

    Ubuntu18.04安装RTX 2080Ti 与 Cuda10 ==========血泪更新========= 如果可以使用ppa安装最方便了 具体参考:https://www.cnblogs.co ...

  4. ubuntu nvidia驱动安装教程

    1. 安装显卡切换软件 sudo add-apt-repository ppa:nilarimogard/webupd8 #添加PPA更新源   sudo apt-get update #刷新更新源列 ...

  5. ubuntu---【NVIDIA驱动 + CUDA 安装】不成功时的卸载方式

    NVIDIA驱动 与 CUDA 安装不成功时,可以卸载,检查相关问题(配置.兼容性等),重新安装.这里记录一下,卸载方式.

  6. Nvidia驱动正确安装过程

    找到适合的正确的驱动 去nvidia驱动官网下载 卸载掉原有驱动 sudo apt-get remove –purge nvidia* 安装驱动 进入命令行界面 Ctrl-Alt+F1 给驱动run文 ...

  7. Ubuntu18.04 显卡驱动+Cuda安装踩坑记录 以及Ubuntu虚拟内存的添加

    前几天买了张亮机卡,终于把主显卡成功直连到Unraid OS的虚拟机上了.然后就开始安装ubuntu系统开始配置环境,遇到了不少坑,特此记录. gcc版本问题 在安装显卡驱动的时候,不要修改gcc版本 ...

  8. ubuntu nvidia驱动+cuda9.0

    https://blog.csdn.net/fdqw_sph/article/details/78745375

  9. Ubuntu系统---Ubuntu16.04进不了界面(登录界面循环,密码正确)(一体化安装(CUDA +NVIDIA驱动)+ cuDNN)

                                                 Ubuntu16.04进不了界面(登录界面循环,密码正确)(一体化安装(CUDA +NVIDIA驱动)+ cu ...

随机推荐

  1. day21-Python运维开发基础(单个字符匹配 / 多字符匹配)

    1. 正则表达式(单个字符匹配) # ### 正则表达式 => 单个字符匹配 import re """ lst = re.findall(正则表达式,字符串) & ...

  2. java.lang.ClassCastException: android.app.Application cannot be cast to

    出这个异常的原因是在项目中添加了新lication类(public class Application extends lication)之后,没有在AndroidManifest.xml中添加该类的 ...

  3. java垃圾回收学习

    经过一个晚上的努力终于完成了一个文件替换指定字符串的程序,但是由于我要替换的全站程序html文件太多, 所以eclipse下边老是在一个目录结束后报出java.lang.OutOfMemoryErro ...

  4. PostgreSQL存取jsonb

    从PostgreSQL 9.3开始,json就成了postgres里的一种数据类型,也就是和varchar.int一样,我们表里的一个字段的类型可以为json了. 与此同时,postgres还提供了j ...

  5. ATT&CK实战系列——红队实战(一)

    一.环境搭建 1.环境搭建测试 最近想要开始学习内网渗透,搜集了一些教程,准备先实验一个vulnstack靶机,熟悉一下内网渗透操作再学习基础知识. 靶场下载地址:http://vulnstack.q ...

  6. 零基础学完Python的7大就业方向,哪个赚钱多?

    “ 我想学 Python,但是学完 Python 后都能干啥 ?” “ 现在学 Python,哪个方向最简单?哪个方向最吃香 ?” “ …… ” 相信不少 Python 的初学者,都会遇到上面的这些问 ...

  7. js通过cookie对两个没有关系的jsp页面进行传值

    //Cookie取值 function readCookie (name) { var cookieValue = ""; var search = name + "=& ...

  8. 五 RequestMapping的使用

    1 设置路径映射为数组,在Controller类中一个方法对应多个映射路径,可以被多个url访问 2 分目录管理,在Controller类上添加Request Mapping注解,url访问必须添加相 ...

  9. 吴裕雄--天生自然python爬虫:使用requests模块的get和post方式抓取中国旅游网站和有道翻译网站翻译内容数据

    import requests url = 'http://www.cntour.cn/' strhtml = requests.get(url) print(strhtml.text) URL='h ...

  10. 拦截指定数据、修改JS -- mitmproxy

    mitmproxy 配置 mitmproxy源码:https://github.com/mitmproxy/mitmproxy mitmdump -q:屏蔽mitmdump默认的控制台日志,只显示自己 ...