在 Linux 内核模块中获取屏幕亮度

Posted

技术标签:

【中文标题】在 Linux 内核模块中获取屏幕亮度【英文标题】:Getting screen brightness in a Linux kernel module 【发布时间】:2012-09-01 00:00:07 【问题描述】:

我正在尝试在我的 Linux 内核模块中获取当前屏幕亮度。但是,我不知道如何访问亮度变量,尽管使用 sysfs 接口很容易在用户空间应用程序中获取它。

请告诉我有关此问题的线索。

谢谢。

【问题讨论】:

如果您从事内核模块编程,那么查看 sysfs 文件系统代码应该不会那么难。 是的。我现在正在做,但我找不到任何线索,因为我是内核模块编程的新手。 【参考方案1】:

通常现代桌面 (GNOME/XFCE4/KDE) 提供了更改亮度的实用程序,但要回答您的问题,您应该在 /sys/class 目录中查找它。提示:寻找背光源,您会找到一个可以为您提供该功能的驱动程序。

就我而言,它是三星笔记本电脑模块和英特尔。

【讨论】:

【参考方案2】:

对我来说

/sys/class/backlight/intel_backlight
$ cat actual_brightness 

这可以得到实际的亮度。你可能想去/sys/class/backlight 并尝试 ls 看看商店里有什么。

【讨论】:

【参考方案3】:

您可以将目录更改为/sys/class/backlight/acpi_video0,然后打开actual_brightness 文件。

cd /sys/class/backlight/acpi_video0
cat actual_brightness

【讨论】:

以上是关于在 Linux 内核模块中获取屏幕亮度的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法从linux内核模块调用用户空间函数?

Linux内核模块

如何调试 Linux 内核模块 `init()` 中的问题?

linux内核模块中调用shell脚本

Linux驱动模块的Makefile分析

Linux内核模块