欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > linux >内容正文

linux

Linux下LCD自动关闭解决方法,一般就自动十分钟黑屏的原因

发布时间:2025/3/21 linux 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Linux下LCD自动关闭解决方法,一般就自动十分钟黑屏的原因 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Linux下LCD自动关闭解决方法

主机环境:Gentoo Linux 11.2

内核版本:Linux Kernel 3.2.1

原创作品,转载请表明http://blog.csdn.net/yming0221/article/details/7339296

正常情况下Linux会在一段时间后默认关闭屏幕,默认为10分钟。这里你可能会认为是Gnome或KDE等桌面环境设置的屏幕保护程序或电源管理功能,即使不安装桌面环境屏幕照样会自动关闭。

下面就来分析下原因。

看到网上的资料说这是由vt驱动来设置的。

下面进入内核源码目录下的drivers文件夹,后执行

 

[cpp] view plaincopyprint?
  • grep blankinterval ./* -R  
  • grep blankinterval ./* -R


    搜索那个文件中设置了该变量。

     

     

    搜索结果如下:

    ./tty/vt/vt.c:static void blank_screen_t(unsigned long dummy);
    ./tty/vt/vt.c:static DEFINE_TIMER(console_timer, blank_screen_t, 0, 0);
    ./tty/vt/vt.c:static void blank_screen_t(unsigned long dummy)

    下面打开该文件修改大约180行的位置

     

    [cpp] view plaincopyprint?
  • static int vesa_blank_mode; /* 0:none 1:suspendV 2:suspendH 3:powerdown */  
  • static int vesa_off_interval;  
  • //static int blankinterval = 10*60;   
  • static int blankinterval = 0;  
  • core_param(consoleblank, blankinterval, int, 0444);  
  • static int vesa_blank_mode; /* 0:none 1:suspendV 2:suspendH 3:powerdown */ static int vesa_off_interval; //static int blankinterval = 10*60; static int blankinterval = 0; core_param(consoleblank, blankinterval, int, 0444);

    这样只是初始化的时候将其默认设置为0,这样朝阳可以通过用户程序对其进行设置。

     

     

    当然还有其他的解决方法,总结如下:

     

    1.修改LCD驱动,把关闭LCD控制器的函数变为空(不推荐)2.修改vt.c中的blank_screen_t()函数,让其为空(在系统不需要使用关闭显示功能时推荐)3.修改vt.c中的blankinterval,让其为0(系统可能需要使用关闭显示功能,而且希望系统上电后正常状态下不会关闭显示时推荐)4.修改用户程序,加入设置blankinterval的代码(推荐)

    **************LCD 自动在十分钟内黑屏的 的处理方式2*******

    在uboot 启动的时候传入进入 参数 控制并且黑屏的时间

    添加这个参数就可以解决的 consoleblank=0  这个参数就是可以的






    总结

    以上是生活随笔为你收集整理的Linux下LCD自动关闭解决方法,一般就自动十分钟黑屏的原因的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。