ubuntu开机自动关闭独显,使用集成显卡

摘要:
我的本子是联想y470p-ise,因为是有双显卡,而ubuntu在开机后,双显卡默认是同时工作,会产生巨大的发热,导致很不爽。而且在ubuntu下基本我也不用独显,所以有开机关闭独显的需求。ubuntu自己就就可以驱动我的显卡,可以通过cat来查看显卡信息elta@elta:~$sudocat/sys/kernel/debug/vgaswitcheroo/switch[sudo]passwordforelta:0:IGD:+:Pwr:0000:00:02.01:DIS::Off:0000:01:00.0IGD是集显,DIS是独显。以前知道关闭集显的命令,加了个脚本,每次开机要手动敲。

我的本子是联想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}" >&2exit 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开机自动关闭独显,使用集成显卡》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇React Native之配置开发环境服务器内存溢出问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

关于php性能优化

php性能优化 1.尽量静态化: 如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。 当然了,这个测试方法需要在十万级以上次执行,效果才明显。 其实静态方法和非静态方法的效率主要区别在内存:静态方法在程序开始时生成内存,实例方法在程序运行中生成内存,所以静态方法可以直接调用,实例方法要先成生实例,通过实例调用...

Linux shell之打印输出

经常需要和shell命令打交道,但是一直没有系统的学习,接下来会花1到2个月的时间系统的学习一下shell命令,接下来就开启shell命令的奇妙旅行吧。本章主要介绍shell的打印输出。 知识要点 shell脚本都是以#!/bin/bash开头;这是固定的写法,其中/bin/bash是bash命令的路径。 一般都会通过chmod授予shell脚本的可执行...

【thinkPHP5实现文件上传】

上传文件 ThinkPHP5.0对文件上传的支持更加简单。 内置的上传只是上传到本地服务器,上传到远程或者第三方平台的话需要自己扩展。 假设表单代码如下: <form action="/index/index/upload" enctype="multipart/form-data" method="post"> <input type=...

PHP图片上传程序(完整版)

从PHP100上搜刮来的,功能很强大。几乎考虑到了每个细节,与大家分享!~~~ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   <?php   /************************************************...

接口--php对接农行网上支付平台-b2b

对接农行网上支付平台 从银行那边获取到对应的接口包 将文件保存在网站的路径中 我是destoon网站系统对接,就放在了api/pay/新建一个文件夹abc/下 完成之后填写接口的配置文件 路径:ebusclient/TrustMerchant.ini 标出的内容 都是需要填写的 对应的证书,联系银行要 配置完成之后 访问测试文件确定是否安装正确...

Linux清空文件内容方法大全

Linux系统中一切皆文件。 所以在清空或删除文件之前一定要确保该文件不是系统文件或者其他重要配置文件,否则可能引发系统错误。 一、通过重定向来清空文件内容 该方法是最简单的,通过shell重定向null到指定文件即可 $ > system.log 还有两个重定向方法: 重定向:或者true到指定文件 $ :> system.log 或者...