螢幕背光如何工作?
關於背光設置和控制的一切都對我有用,除了:
背光重置為最大值。在每次重新啟動/啟動時。背光最小值繼續完成黑屏,而不是其他地方的最小亮度設置。NB> 我看到 1. 以上在很多地方都有不同的答案,所以我實際上正在尋找可以閱讀並理解它是如何工作的人或地方。
我的筆記型電腦中有 2 個不同的背光文件夾和許多要編輯的 conf 文件。因此需要了解這些文件上的內容會影響系統上的內容。
背光的核心是這個 Linux 核心參數,在
/sys
. 您可以通過將值設置為 1 到 15 之間的值來操作它。例如:$ echo 5 | sudo tee /sys/class/backlight/acpi_video0/brightness
將亮度設置為 5。操作此 Kernel 參數是抽象的,因此當您使用鍵盤或桌面小程序更改值時,您可以通過D-Bus和HAL操作它。
D-Bus 允許您操縱這個結構,
org.freedesktop.Hal.Device.KeyboardBacklight
而HAL允許這樣做的特權。你可以在我的 Fedora 14 系統上看到這樣的:$ grep -i backlight /etc/dbus-1/system.d/* /etc/dbus-1/system.d/hal.conf: send_interface="org.freedesktop.Hal.Device.KeyboardBacklight"/> /etc/dbus-1/system.d/hal.conf: send_interface="org.freedesktop.Hal.Device.KeyboardBacklight"/>
在文件中
hal.conf
:<!-- Only allow users at the local console to manipulate devices --> <policy at_console="true"> ... <allow send_destination="org.freedesktop.Hal" send_interface="org.freedesktop.Hal.Device.KeyboardBacklight"/>
您可以通過 D-Bus 查詢目前值,如下所示:
$ dbus-send \ --print-reply \ --system \ --dest=org.freedesktop.Hal \ /org/freedesktop/Hal/devices/computer_backlight \ org.freedesktop.Hal.Device.LaptopPanel.GetBrightness | \ tail -1 | \ awk '{print $2}'
返回值:
15
您也可以像這樣從命令行操作它(
int32:10
下面的位將亮度設置為“10”):$ dbus-send \ --print-reply \ --system \ --dest=org.freedesktop.Hal \ /org/freedesktop/Hal/devices/computer_backlight \ org.freedesktop.Hal.Device.LaptopPanel.SetBrightness \ int32:10 #2&>1 > /dev/null
你可以看到我們改變了亮度:
$ cat /sys/class/backlight/acpi_video0/brightness 10
那麼我該如何解決呢?
一個想法是在關機和/或重新啟動之前將目前亮度保存到文件中,然後將上面
~/.xinitrc
的命令添加到您的啟動中(也許)dbus-send ...
,添加您之前保存到文件中的亮度值。為什麼我在 /sys/class/backlight 下有多個文件?
我在 askubuntu.com 上看到了這個問答,標題為:為什麼我的系統中有兩個亮度控製文件 (/sys/class/)。在這個問題的答案中有這樣的評論:
如果系統以核心參數acpi_backlight=vendor啟動,項目acpi_video0被替換為項目intel,但是Fn-Keys不能改變這個項目的值。
我還看到了這個核心文件,標題為:核心參數。在本文件中,提到了以下 aCPI 選項:
acpi_backlight= [HW,ACPI] acpi_backlight=vendor acpi_backlight=video If set to vendor, prefer vendor specific driver (e.g. thinkpad_acpi, sony_acpi, etc.) instead of the ACPI video.ko driver.
我認為
intel_backlight
引用的/sys/class/backlight
是為英特爾顯卡提供的顯卡驅動程序背光的一部分。參考