linux 命令行下适配 nvidia 驱动

转自:https://www.cnblogs.com/chua-n/p/13208398.html

1. 下载相应驱动

在官网这里选择适应你 GPU 的驱动版本,在下载界面可用右键得到下载链接,然后在 linux 命令行下使用 wget 进行下载,如我下载的是 1080 Ti 的驱动版本:

wget https://www.nvidia.cn/content/DriverDownload-March2009/confirmation.php?url=/XFree86/Linux-x86_64/440.82/NVIDIA-Linux-x86_64-440.82.run&lang=cn&type=TITAN

下载完成后是一个名为NVIDIA-Linux-x86_64-440.82.run的文件。此时若使用sudo sh NVIDIA-Linux-x86_64-440.82.run进行安装,会产生如下报错:

You appear to be running an X server; please exit X before installing.

这主要是由于通常而言你的电脑上已经有 nvidia 驱动并且在运行了,此时无法进行新驱动的安装,因为会影响依赖你现有驱动的应用的正常运行。比方说你的桌面程序就需要依靠现有的显卡驱动进行显示。

回到这个报错,百度了解到是有一个叫做 X 的进程服务在依赖着 nvidia 驱动的运行,这个 X 进程似乎就是支撑你的图形桌面的服务。使用ps aux | grep X命令可查看到这个正在运行的服务:

$ ps aux | grep X root 1459 0.0 0.0 15984 928 pts/40 S+ 19:12 0:00 grep X root 1643 0.0 0.1 426836 187692 tty7 Ssl+ 10:43 0:15 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch root 3604 0.0 0.0 387052 71108 tty8 Ssl+ 10:44 0:22 /usr/lib/xorg/Xorg -core :1 -seat seat0 -auth /var/run/lightdm/root/:1 -nolisten tcp vt8 -novtswitch git 3909 0.0 0.0 43732 4264 ? Ss 10:44 0:03 dbus-daemon --fork --session --address=unix:abstract=/tmp/dbus-E2NLgH7XO1

2. 关闭 X 服务

为了能够安装新的 nvidia 驱动,我们需要关闭这个 X 服务,我的 Ubuntu 是基于 lightdm 类型的桌面系统,采用如下命令:

sudo /etc/init.d/lightdm stop sudo /etc/init.d/lightdm status

对于其他的 linux 版本,如果桌面系统是基于 gdm 类型,应该把命令中的 lightdm 改为 gdm 即可;非这两种桌面系统类型的,百度一下你的 linux 版本关闭 X 服务的相关命令吧。

关闭了 X 服务后图形桌面可能会关闭,因为我是通过 ssh 连接的服务器进行的操作,所以也没有看到具体的变化,不确定具体会发生什么情况,不过别慌就是了。

关闭 X 后,可再次用 ps 命令查看相关进程以确认,我这里显示如下,确实没有运行的 X 服务了:

$ ps aux | grep X root 1656 0.0 0.0 15984 1084 pts/40 S+ 19:15 0:00 grep X

3. 卸载旧的驱动

终于可以卸载旧驱动了:

sudo apt-get --purge remove nvidia-* # 也有的说用下面的命令进行卸载,我个人均有尝试,无碍 sudo apt-get --purge remove "*nvidia*"

4. 安装新驱动

在第 1 步下载的驱动文件目录里运行安装包即可:

$ sudo sh NVIDIA-Linux-x86_64-440.82.run

值得一提的是,中间可能会有一些小的 warning 提示(好像还有一个 error?),但流程走下来最终还是提示 successfully complete,这就中了!使用nvidia-smi已经可以看到你的新驱动版本号(Driver Version)产生了变化:

$ nvidia-smi Sun Jun 21 19:16:54 2020 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 440.82 Driver Version: 440.82 CUDA Version: 10.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GTX 108... Off | 00000000:02:00.0 Off | N/A | | 27% 35C P5 24W / 250W | 0MiB / 11170MiB | 2% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+

linux 命令行下适配 nvidia 驱动 - 搬运的更多相关文章

  1. 详解Linux命令行下常用svn命令

    1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...

  2. 在linux命令行下执行php 程序

    如何在linux命令行下,执行php程序. 例子 打印当前时间 php -r "echo time()" 随机输出一个数字 php -r "echo rand(1,20) ...

  3. Linux命令行下cp,rm,mv命令的使用

    以下的内容来源于<鸟哥的私房菜> Linux命令行下的复制.删除与移动:cp,rm,mv cp(copy)复制        cp这个命令的用途很多,除了单纯的复制之外,还可以创建链接文件 ...

  4. linux命令行下svn常用命令

    linux命令行下svn常用命令 1. 将文件checkout到本地目录 1 #path是服务器上的目录 2 svn checkout path 3 4 #示例 5 svn checkout svn: ...

  5. Linux命令行下如何终止当前程序

    Linux命令行下如何终止当前程序 快捷键: Ctrl+c 在命令行下起着终止当前执行程序的作用, Ctrl+d 相当于exit命令,退出当前shell Ctrl+s 挂起当前shell(保护作用很明 ...

  6. Linux命令行下的vim文本编辑器

    Linux命令行下的vim文本编辑器 下面这个网站的地址讲解的非成分清楚!!!! http://blog.csdn.net/niushuai666/article/details/7275406 学习 ...

  7. Linux命令行下常用svn命令

    1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...

  8. Linux 命令行下搜索工具大盘点,效率提高不止一倍!

    在 Linux 命令行下进行文本关键字的搜索,大家肯定第一时间会想到 grep 命令.grep 命令确实十分强大,但如果需要用到它更加灵活的功能时,可能命令就会显得十分复杂. 于是,为了简化 grep ...

  9. 在Linux命令行下令人惊叹的惊叹号(!)

    '!'符号在Linux中不但可以用作否定符号,还可以用来从历史命令记录中取出命令或不加修改的执行之前运行的命令.下面的所有命令都已经在Bash Shell中经过确切地检验.尽管我没有试过,但大多都不能 ...

  10. QrenCode : linux命令行下生成二维码图片

    原文链接:http://wowubuntu.com/qrencode.html # 作者:riku/ / 本文采用CC BY-NC-SA 2.5协议授权,转载请注明本文链接. 对于二维码大家应该并不陌 ...

随机推荐

  1. Day 11 11.2 文件操作

    文件操作 引言 到目前为止,我们做的一切操作,都是在内存里进行的,这样会有什么问题吗?如果一旦断电或发生意外关机了,那么你辛勤的工作成果将瞬间消失.是不是感觉事还挺大的呢?现在你是否感觉你的编程技巧还 ...

  2. Python切换中英文输入法

    要实现中英文切换,首先Windows系统必须要有中文语言和英文语言,才能实现输入法(语言)切换. import win32api import win32gui from win32con impor ...

  3. C++入门之unordered_map

    1.介绍   unordered_map是c++语言STL库中一个比较重要的容器,不能自动排序,这一容器是根据哈希表这一数据结构设计而成的,能够极大地提升数据搜索.插入和删除操作的时间效率. 2.头文 ...

  4. luogu 4142

    费用流好题 本题的建图很有意思 正常我们看到棋盘问题应该先对整个棋盘黑白染色构成一个二分图,然后再考虑建图的问题 但是本题题目中已经明确区分了不同的斜线,问题在于怎么保证一个"L" ...

  5. Python openpyxl【包】

    介绍 Excel是我们日常工作中经常用到的办公软件,在处理数据和表格方面有着优异的性能,那么能不能用python来操作Excel呢? 答案是肯定的,openpyxl是一个第三方库,可以处理xlsx格式 ...

  6. Idea 配置 tomacat

    步骤 1.点击settings 2.创建tomcat 并找到tomcat的目录 添加完成 3.创建Idea项目

  7. 2月27日Android开发学习

    App工程目录结构 App工程分为两个层次,第一个层次是项目,另一个层次是模块. 模块依附于项目,每个项目至少有一个模块.一般而言的"编译运行App",指的是运行某一模块,而非运行 ...

  8. 3vue

    阻止冒泡 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  9. sql server 计算时间差的一部分函数【转】

    在做Sql Server开发的时候有时需要获取表中今天.昨天.本周.上周.本月.上月等数据,这时候就需要使用DATEDIFF()函数及GetDate()函数了.DATEDIFF ( datepart ...

  10. Linux(2)

    虚拟机关键配置名词解释 远程链接工具 linux准则 远程链接工具快捷键 系统相关命令 文件相关命令 linux目录结构 虚拟机关键配置名词解释 # 虚拟网络编辑器说明 桥接模式  # 可以访问互联网 ...