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. 解决GitHub网页githubusercontent地址无法访问问题

    问题 解决GitHub网页githubusercontent地址无法访问问题 解决方法: 参考链接:https://zhuanlan.zhihu.com/p/107691233 注意 安装有火绒的,可 ...

  2. Mac Google浏览器 Chrome

    Mac Google浏览器 Chrome https://590m.com/f/28636472-500465601-d4c369 (访问密码:7410)

  3. 几款Android 应用自动化测试工具

    本文转自:https://blog.csdn.net/hebbely/article/details/78901466 简述: 本文介绍几款流行的 Android应用自动化测试工具. Monkey测试 ...

  4. spider_requests库简单ip代理

    """使用requests 设置ip代理"""import requestsdef func(): url = 'http://ip.273 ...

  5. windows系统PC设置多ip

    1.  打开  "[打开网络和共享中心]" 2 "更改适配器设置" 3."[本地连接]"-- "[属性]" 4.打开 [ ...

  6. 基础vue的一些知识补充

    一.:disabled 该属性能接受布尔值,可以用于元素的使用.当值为true时,该元素将无法被使用,如button的disabled属性被设置为true后,将无法被点击,input的disabled ...

  7. oracle表中增加字段sql

    declare v_Count1 int := 0; v_Count2 int := 0;begin select count(1) into v_Count1 from user_all_table ...

  8. 笔记:map函数方法映射

    ------------恢复内容开始------------ map函数可以对后端接口返回一个数组 map存在一个参数时: map存在三个参数时: 语法: array.map(function(cur ...

  9. kafka工具的使用-发送数据

    1.了解推送数据的是哪个topic,选择对应topic下面的partition分区 2.右侧界面选择Data,并点击『+』号: 3.可选择添加单个消息『add Single Message』或者添加多 ...

  10. hdu1710 二叉树(C/C++)

    hdu1710 题目地址:https://acm.dingbacode.com/showproblem.php?pid=1710 (最近几天杭电原网址开不进去了,之后应该可以通..吧) Binary ...