我的本子是联想y470p-ise,因为是有双显卡,而ubuntu在开机后,双显卡默认是同时工作,会产生巨大的发热,导致很不爽。而且在ubuntu下基本我也不用独显,所以有开机关闭独显的需求。

ubuntu自己就就可以驱动我的显卡,可以通过cat来查看显卡信息

elta@elta:~$ sudo cat /sys/kernel/debug/vgaswitcheroo/switch
[sudo] password for elta:
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Off:0000:01:00.0

IGD是集显,DIS是独显。现在可以看到我集成显卡的状态是Pwr,就是开启;独显的状态是off,就是关闭。

以前知道关闭集显的命令,加了个脚本,每次开机要手动敲(因为要sudo权限运行,导致我之前一直都不知道怎么给它加成开机启动)。现在创建了一个系统服务,让它每次可以开机自动运行。

我就简单的贴一下代码吧。

文件路径为:elta@elta:~$ cat /etc/init.d/graphic

#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin
NAME=graphic
DESC="config graphic to use iga only" case "$1" in
igd)
echo "Turn on all graphic"
(echo ON > /sys/kernel/debug/vgaswitcheroo/switch && echo "done") || echo "Failed"
echo "Use IGD"
(echo DIGD > /sys/kernel/debug/vgaswitcheroo/switch && echo "done ") || echo "Failed"
sleep 0.2
echo "Turn DIS OFF"
(echo OFF > /sys/kernel/debug/vgaswitcheroo/switch && echo "done") || echo "Failed"
sleep 0.2
cat /sys/kernel/debug/vgaswitcheroo/switch
;;
both)
echo "Turn on all graphic"
(echo ON > /sys/kernel/debug/vgaswitcheroo/switch && echo "done") || echo "Failed"
echo "Use DIS"
(echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch && echo "done ") || echo "Failed"
sleep 0.2
echo "Use IGD"
(echo DIGD > /sys/kernel/debug/vgaswitcheroo/switch && echo "done ") || echo "Failed"
sleep 0.2
cat /sys/kernel/debug/vgaswitcheroo/switch
;;
status)
cat /sys/kernel/debug/vgaswitcheroo/switch
;;
stop)
;;
*)
echo "Usage: $NAME {igd|both|status}" >&2
exit 1
;;
esac exit 0

通过创建上面的文件,就创建了一个叫graphic的系统服务。这个名字是可以随便改的。然后我们通过运行

elta@elta:~$ sudo service graphic start
Use IGD
done
Turn DIS OFF
done
0:IGD:+:Pwr:0000:00:02.0
1:DIS: :Off:0000:01:00.0

但是现在仍然是需要手动的,为了实现自动运行,我们在文件/etc/rc.local中加入服务启动命令service graphic start ,以后每次开机系统就会自动关闭独显了。

下面是我的rc.local文件

elta@elta:~$ cat /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing. service graphic igd exit 0

修改记录:

13.08.30:修改graphic文件和rc.local文件内容,修改了命令名称,添加了both命令,用户恢复双显卡同时使用,但这并没有实际意义,因为active的显卡仍然是集显。但是发现了一个问题,我用的内核是3.8.0-25,这个内核无法切换到只用独显,独显的active没有办法启用。

ubuntu开机自动关闭独显,使用集成显卡的更多相关文章

  1. [转]笔记本Ubuntu系统关闭独显+省电降温设置

    [转载者按]最近装了Ubuntu 13.04 64 bits版操作系统玩玩,但是发现两个显卡都开着,所以上网查找资料,以在不需要3D的时候关闭Nvidia显卡.通过Bumblebee软件包可以达到这一 ...

  2. ThinkPad 安装 Ubuntu 18.10 系统 -- 高分屏各项配置与Nvdia独显驱动

    索引: 目录索引 一.机器概述 1.屏幕:14'' 2.分辨率:1920*1080 3.显卡:Intel 核显  &  Nvidia  GeForce 940MX 独显 ,双显卡 4.其它硬件 ...

  3. Ubuntu 14.04(64位)+GTX970+CUDA8.0+Tensorflow配置 (双显卡NVIDIA+Intel集成显卡) ------本内容是长时间的积累,有时间再详细整理

    (后面内容是本人初次玩GPU时,遇到很多坑的问题总结及尝试解决办法.由于买独立的GPU安装会涉及到设备的兼容问题,这里建议还是购买GPU一体机(比如https://item.jd.com/396477 ...

  4. 禁用ubuntu的触摸板和独显

    #!/bin/bash #This is a vgaoff & touchpadoff #By spinestars #-2-18#TouchPad & VGA OFF == ];th ...

  5. ubuntu开机卡在/dev/sda* clean

    问题描述: ①Ubuntu通过再生龙从一台笔记本还原到另外一台笔记本(硬盘到硬盘),开机后卡在自检界面: ②备份前的笔记本为17年发布的笔记本,还原后的笔记本为2020款发布的笔记本 从网上搜了一大篇 ...

  6. BIOS简单设置 解析“集成显卡”内存占用问题

    很多使用集成显卡的用户会发现,在系统信息窗口中,内存容量和实际不一样.比如系统内存显示4GB,可用3.48G之类.这不可用的一部分内存到哪去了? 其实减少的这部分内存是被集成显卡占用当做显存使用了.而 ...

  7. 小小知识点(二十二)显示屏与主机之间连接,出现无信号字样时,应检查是否正确选择集显和独显VGA接口

    显示屏与主机之间连接,出现无信号字样时,应检查是否正确选择集显和独显VGA接口 通过VGA接口判断集成显卡和独立显卡.在台式机主机上,VGA接口竖着放置的说明是集成显卡,VGA接口横着放置的说明是独立 ...

  8. 关于独显A卡利用率一直是0不运行的问题

    情况: 独显一直是0,玩游戏时核显,也就是GPU-0快满了GPU-1也是0,跟没有一样,怀疑自己买电脑的时候是不是被骗了. 在高级电源选项中,有个可切换动态显卡->全局设置的选项,设置成最大化性 ...

  9. debian 10安装英伟达独显驱动

    我的显卡是GTX1050TI,刚安装好Debian 10的时候启动会黑屏,无法进入系统,解决办法是在grub界面,按e修改启动参数,在启动参数那一行(一般会包含quiet)后面加上 nouveau.m ...

随机推荐

  1. CodeForces 610D Vika and Segments

    模板题,矩形面积并 #include <iostream> #include <cstring> #include <cstdio> #include <al ...

  2. C程序编译执行过程

    C程序编译执行过程   认识C编译执行过程,是C学习的开端. 简单说C语言从编码编译到执行要经历一下过程:   C源代码 编译---->形成目标代码,目标代码是在目标机器上运行的代码. 连接-- ...

  3. centos 7用ss命令来查看端口占用和对应进程

    mysqld进程在监听4567端口,进程id是2593:# ss -lnp|grep 4567tcp    LISTEN     0      128                    *:456 ...

  4. 《数据结构与算法分析:C语言描述》读书笔记------练习1.1 求第K大的数

    求一组N个数中的第k个最大者,设k=N/2. import java.util.Random; public class K_Max { /** * @param args */ //求第K大的数,保 ...

  5. iOS开发——导入第三方库引起的unknown type name 'NSString'

    今天加入SVProgressHUD的第三方库的时候报了24个错误( too many errors emitted, stopping now),都是 expected identifier or ' ...

  6. memcache和memcached之间的区别和联系

    memcache和memcached区别: Memcache是什么?Memcache是一个自由和开放源代码.高性能.分配的内存对象缓存系统.用于加速动态web应用程序,减轻数据库负载.它可以应对任意多 ...

  7. struts2拦截器-自定义拦截器,放行某些方法(web.xml配置)

    一.web.xml配置 <filter> <filter-name>encodingFilter</filter-name> <filter-class> ...

  8. IOS第三方数据库--FMDB 分类: ios技术 2015-03-01 09:38 57人阅读 评论(0) 收藏

    iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepers ...

  9. session cookie用法

    1.session(1)session存储在服务器的(2)session每个人存一份(3)session有默认的过期时间(4)session里面可以存储任意类型的数据安全,对服务造成压力用法:1.当一 ...

  10. nginx的一些配置

    map $http_user_agent $***_build_version { default "***.exe"; "~Windows NT 10.0" ...