Linux下LCD自动关闭解决方法
3403 点击·0 回帖
![]() | ![]() | |
![]() | 主机环境:Gentoo Linux 11.2 内核版本:Linux Kernel 3.2.1 正常情况下Linux会在一段时间后默认关闭屏幕,默认为10分钟。这里你可能会认为是Gnome或KDE等桌面环境设置的屏幕保护程序或电源管理功能,即使不安装桌面环境屏幕照样会自动关闭。 下面就来分析下原因。 看到网上的资料说这是由vt驱动来设置的。 下面进入内核源码目录下的drivers文件夹,后执行 grep blankinterval ./* -R 搜索那个文件中设置了该变量。 搜索结果如下: ./tty/vt/vt.ctatic void blank_screen_t(unsigned long dummy); ./tty/vt/vt.ctatic DEFINE_TIMER(console_timer, blank_screen_t, 0, 0); ./tty/vt/vt.ctatic void blank_screen_t(unsigned long dummy) 下面打开该文件修改大约180行的位置 static int vesa_blank_mode; /* 0:none 1uspendV 2uspendH 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的代码(推荐) | |
![]() | ![]() |