如果稍不注意:系统内核、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. typescript 起步之安装及配置 ts-node 环境变量

    最近vue 3.0 版本发布,让我认识到 typescript 将占有越来越重要的地位,所以我也开启了typescript学习之旅. 要想编写第一个 hello typescript 程序,当然要经过 ...

  2. Python中的进制表示方式及转换方法

    在Python中,非十进制数字的表示方式为: 二进制:前面加0b,如0b1001 八进制:前面加0o,如0o3562 十六进制:前面加0x,如0x2af3 不同进制数字可直接进行数学计算,结果返回十进 ...

  3. Openstack----学习笔记

    ceph 分布式存储,用于存放新创建的云主机磁盘镜像文件和磁盘 创建云主机流程记录 简易版本: 上图中所有发送的请求都会存放在rabbit_mq(消息队列)中,各个组件会定时取消息队列中与自己相关的请 ...

  4. Java实现图片内容无损任意角度旋转

    转自:http://blog.csdn.net/heliang7/article/details/7309394 主要问题是如何在图片做旋转后计算出新图片的长宽. 在java 2d和基本math库的帮 ...

  5. BigDecimal类用于计算(不会丢失精度)

  6. LibreOJ #6001. 「网络流 24 题」太空飞行计划

    \(\quad\) 与网络流有关的最值有三个:最大流,最小费用,最小割.这道题是最小割.想了好久,终于想明白最小割应该怎么用. \(\quad\) 先找出矛盾的事物.在这道题中,两件事是矛盾的:做实验 ...

  7. 一个小白对auth的理解

    ---恢复内容开始--- PS:最近需要做一个验证用户权限的功能,在官方和百度看了下,发现大家都是用auth来做验证,官方有很多auth的使用教程,但是都不全面,我也提问了几个关于auth的问题 也没 ...

  8. nginx 安装部署前篇

    官网:https://nginx.org/ 特性:既可以作为HTTP服务器,也可以作为反向代理服务器或者邮件服务器或者邮件服务器:能够快递响应静态页面的请求:支持 Fast CGI.SSL.Virtu ...

  9. input文件类型上传,或者作为参数拼接的时候注意的问题!

    1.ajax请求参数如果为文本类型,直接拼接即可.如果为file类型就需要先获取文件信息 2.获取文件信息: HTML代码: <div class="form-group"& ...

  10. 5、mysql的连接查询

    1.内联查询 >inner join 或 join 2.外联查询 (1)左连接 >left outer join 或 left join (2)右连接 >right outer jo ...