我正在运行一个嵌入式Linux开发板,该开发板只有一个基于i.MX6和自定义Yocto构建的控制台(没有图形环境)。
我试图阻止屏幕在15分钟不活动后关闭。我认为正确的方法是将consoleblank=传递给 Boot 参数,我已经这样做了。问题是当我这样做时
cat /sys/module/kernel/parameters/consoleblank
我得到900。cat /proc/cmdline的结果是:
console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait rw consoleblank=0
有谁知道这个参数还可以在哪里设置?
谢谢
马龙
2条答案
按热度按时间t0ybt7op1#
要避免控制台在一段时间后变为空白,需要更改两件事:
你在proc中看到的值,我怀疑在 Boot 过程中设置了 setterm 参数,这将改变 consoleblank 参数,为了确定这一点,你可以做一个简单的测试:
您可以在此问题中查看其他信息:https://unix.stackexchange.com/questions/8056/disable-screen-blanking-on-text-console
zour9fqk2#
我知道这是一个超级老的问题,但我最近遇到了一个非常类似的问题,发现15分钟的空白超时是由Qt引起的。如果你正在运行任何Qt程序,这可能是问题的根源。
在Qt的源代码中有一个名为setTTYCursor的函数。如果你看一下链接文件中的代码,它通过在Qt应用加载时将超时设置为0来禁用消隐,然后当它退出时,它将消隐更改为15分钟的超时。在此之后,
/sys/module/kernel/parameters/consoleblank
报告值900,不管你最初在内核命令行中提供了什么,我花了很多时间质疑自己的理智,直到我发现Qt在背后改变了这一点。你可以通过在启动Qt应用程序之前设置一个环境变量来绕过这个奇怪的行为:
export QT_QPA_PRESERVE_CONSOLE_STATE=1