我有一台使用 Cinnamon DE 运行 Linux Mint Debian 版(基于 Debian 测试)的 Lenovo SL510 笔记本电脑,亮度似乎只有两种设置:100% 和 0%。如果我使用笔记本电脑上的亮度键并降低亮度,它会立即降至 0%。如果我增加亮度,也会发生同样的情况;它会自动跳到100%。如果我使用 Cinnamon 中的亮度小部件,我会得到相同的效果。
从中lsmod
,这些是我安装的 acpi 内核模块:
Module Size Used by
thinkpad_acpi 61270 0
nvram 13049 1 thinkpad_acpi
acpi_cpufreq 12935 1
snd 52850 17 snd_timer,snd_seq_device,snd_seq,snd_rawmidi,thinkpad_acpi,snd_pcm,snd_mixer_oss,snd_pcm_oss,snd_hwdep,snd_hda_codec,snd_hda_intel,snd_hda_codec_realtek,snd_hda_codec_hdmi
rfkill 19012 6 cfg80211,thinkpad_acpi,bluetooth
mperf 12453 1 acpi_cpufreq
processor 28157 3 acpi_cpufreq
从uname -r
,我的内核版本是3.2.0-4-amd64。
我可以做什么来解决这个问题,或者我应该发布哪些其他信息来解决这个问题?
答案1
您可以查看/proc
和中的一些内容/sys
,看看会发生什么;亮度小部件或您的桌面环境中的任何东西(您没有说是哪一个)使用一些接口来连接那里的东西。 /proc
并且/sys
不存在于磁盘上;它们包含的文件是内核的特殊接口。可以写入许多文件来控制各种事物。
例如:我使用的是东芝卫星,并且 .txt 中有一个“toshiba”目录/proc/acpi
。在该目录中有一个文件“lcd”:
»cat lcd
brightness: 5
brightness_levels: 8
但是,您无法写入此文件。这种方式更有用的是一些目录/sys/class/backlight
——我又有“acpi_video0”、“intel_backlight”和“toshiba”。然而,这个东芝目录包含不同的东西。已经对此进行了愚弄,我知道我的案例中的相关内容实际上位于“acpi_video0”中:
»ls -1 acpi_video0/
actual_brightness
bl_power
brightness
device
max_brightness
power
subsystem
type
uevent
其中一些是目录。现在:
»cd acpi_video0/
»cat max_brightness
7
这确实对应于 proc 中的“brightness_levels”,因为 0-7 是 8 个级别。
»cat brightness
5
»echo 2 > brightness
如果你不是root,echo将会失败与“权限被拒绝”。从那时起root
,我的屏幕突然变暗了很多。
当我使用键盘调光器时,KDE 桌面上弹出的小部件通常以 10 或 20% 的增量从 0 到 100,或者有时不给出百分比,或者偶尔给出“52%”之类的东西——但在经验现实中,从 0% 到 100% 始终是相同的 7 个步骤。对于 KDE,GUI 系统设置中的“电源管理”下有一些亮度内容,但同样,它们都与同一件事相关。
您还可以/sys
使用命令访问/浏览/操作这些值sysctl
,请参阅man sysctl
。哪种方法更简单可能取决于您如何使用命令行;我用一个正统文件浏览器(mc) 这很重要,因为我实际上不需要 cd/ls/cat 等。
所以看看那些东西,看看会发生什么。请记住,由于硬件制造商通常不提供 Linux 驱动程序,因此必须有人开发它们,而且通常没有报酬(也就是说,在业余时间)。此外,这些制造商通常对可能有助于创建此类驱动程序的信息请求持敌意(我曾经去过那里),使该过程变得非常痛苦。最终结果:并非所有驱动程序都 100% 正常工作(这与有缺陷不同——它们可以工作,只是不能完成所有工作)。是的,是的。