ubuntu---NVIDIA驱动 + CUDA 安装完可能会遇见的问题
如果稍不注意:系统内核、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 安装完可能会遇见的问题的更多相关文章
- Ubuntu系统---“NVIDIA 驱动+CUDA+cuDNN ”之后 OpenCV安装
Ubuntu系统---“NVIDIA 驱动+CUDA+cuDNN ”之后 OpenCV安装 目录: 一.OpenCV安装包下载 二.cmake安装 三.OpenCV安装 正文 一.OpenCV安装包下 ...
- # Ubuntu16.04安装nvidia驱动+CUDA+cuDNN
Ubuntu16.04安装nvidia驱动+CUDA+cuDNN 准备工作 1.查看GPU是否支持CUDA lspci | grep -i nvidia 2.查看Linux版本 uname -m &a ...
- Ubuntu18.04安装RTX2080Ti+NVIDIA驱动+CUDA
Ubuntu18.04安装RTX 2080Ti 与 Cuda10 ==========血泪更新========= 如果可以使用ppa安装最方便了 具体参考:https://www.cnblogs.co ...
- ubuntu nvidia驱动安装教程
1. 安装显卡切换软件 sudo add-apt-repository ppa:nilarimogard/webupd8 #添加PPA更新源 sudo apt-get update #刷新更新源列 ...
- ubuntu---【NVIDIA驱动 + CUDA 安装】不成功时的卸载方式
NVIDIA驱动 与 CUDA 安装不成功时,可以卸载,检查相关问题(配置.兼容性等),重新安装.这里记录一下,卸载方式.
- Nvidia驱动正确安装过程
找到适合的正确的驱动 去nvidia驱动官网下载 卸载掉原有驱动 sudo apt-get remove –purge nvidia* 安装驱动 进入命令行界面 Ctrl-Alt+F1 给驱动run文 ...
- Ubuntu18.04 显卡驱动+Cuda安装踩坑记录 以及Ubuntu虚拟内存的添加
前几天买了张亮机卡,终于把主显卡成功直连到Unraid OS的虚拟机上了.然后就开始安装ubuntu系统开始配置环境,遇到了不少坑,特此记录. gcc版本问题 在安装显卡驱动的时候,不要修改gcc版本 ...
- ubuntu nvidia驱动+cuda9.0
https://blog.csdn.net/fdqw_sph/article/details/78745375
- Ubuntu系统---Ubuntu16.04进不了界面(登录界面循环,密码正确)(一体化安装(CUDA +NVIDIA驱动)+ cuDNN)
Ubuntu16.04进不了界面(登录界面循环,密码正确)(一体化安装(CUDA +NVIDIA驱动)+ cu ...
随机推荐
- FTP、SFTP、SCP的区别
转载于>> FTP(File Transfer Protocol) 是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网 ...
- 关于程序状态字寄存器PSW(Program Status Word)与多核多线程
内核态(Kernel Mode)与用户态(User Mode) CPU通常有两种工作模式即:内核态和用户态,而在PSW中有一个二进制位控制这两种模式. 内核态:当CPU运行在内核态时,程序可以访问所有 ...
- Python学习笔记009
不换行 print("Hello,world!",end='')print("Hello,world!",end='')print("Hello,wo ...
- C/C++ — CreateThread 相关 API
使用互斥对象: #include <windows.h> #include <iostream> #define THREADCOUNT 6 HANDLE ghMutex; D ...
- H5不支持的标签
<acronym> 定义首字母缩写. <applet> 定义applet <basefont> 定义文档中所有文本的默认颜色.大小和字体.请用CSS代替 < ...
- ClientAbortException: java.io.IOException: 您的主机中的软件中止了一个已建立的连接。,进不了Debug,访问不到方法
开发项目的时候运行报错,Debug进不去方法,猜想是js中ajax的url 路径的问题,后来找公司的斌哥解决了问题,感谢! 异常: 解决过程: 清理缓存,修改js代码,通过浏览器的F12查看,发现修改 ...
- Python - Mro
参考 https://stackoverflow.com/questions/2010692/what-does-mro-do http://python.jobbole.com/85685/ 问题: ...
- System.Diagnostics.Conditional 的妙用 -- 把文档放在代码中
最近的工作跟 UI 打交道比较多, 各种坑. 今天从 Prefab 的序列化功能来说说 System.Diagnostics.Conditional 的妙用. 我们做 UI 面对各种按钮, 组件的获取 ...
- C# Stream篇(三) -- TextWriter 和 StreamWriter
TextWriter 和 StreamWriter 目录: 为何介绍TextWriter? TextWriter的构造,常用属性和方法 IFormatProvider的简单介绍 如何理解StreamW ...
- window和document的区别理解,bom和dom的区别理解
Window对象: 是整个BOM的核心,所有对象和集合都以某种方式回接到window对象.Window对象表示整个浏览器窗口,但不必表示其中包含的内容. Document对象: 实际上是window对 ...