如何在亮度控制上具有非零最小亮度的筆記型電腦上設定零亮度?
無論 XIe 是什麼,該解決方案都應該工作,它也應該在虛擬終端中工作。
答案1
在採用 Intel 晶片組的筆記型電腦領域,LVDS 連接面板和 eDP 連接面板之間似乎存在差異:
電子資料處理:
echo 4 > /sys/class/backlight/intel_backlight/bl_power
…應該關閉背光。
echo 0 > /sys/class/backlight/intel_backlight/bl_power
……應該再次打開它。
LVDS:
我發現無法透過 sysfs 關閉 Thinkpad X201 和 X201 平板電腦上的背光(bl_power 不執行任何操作;顯然,它是 eDP 特定的)。
這一頁對 Linux 核心中背光控制的複雜歷史進行了非常冗長的描述。長話短說:
i915 從 v3.18 開始支援 eDP 面板的 bl_power(但不支援 LVDS)。
然而,intel_backlight
我已經能夠透過使用名為的工具來關閉背光英特爾 GPU 工具。這需要 root,因為它顯然寫入原始暫存器。
intel_backlight 0
……為我關閉了背光。使用亮度調整控制將其調高,可在此處重新啟用它。
我還編寫了一個腳本,將其連接到鍵盤生成的 ACPI 事件上(在我的例子中為 fn+space 或 )button/zoom
。事件。
為了觸發它,我創建了一個名為的fnspace-backlight
檔案/etc/acpi/events
:
# Wyatt Ward
# hook for magnify acpi event (fn+space)
# toggle LCD backlight on/off
event=button/zoom
action=/etc/acpi/actions/toggle-lcd-light.sh
我還製作了一個名為 的文件/etc/acpi/actions/toggle-lcd-light.sh
,標記為可執行檔。這讓我可以切換背光,而無需更改之前設定的亮度級別,並將臨時值儲存在/brightness
.由於 ACPI 事件以 root 身分執行操作,因此請小心。
#! /bin/bash
BRIGHTSAVEFILE="/brightness"
BRIGHTSYSFS="/sys/class/backlight/acpi_video0/brightness"
# is the light on or off?
INTEL_BACKLIGHT="/usr/bin/intel_backlight"
light_state=$("$INTEL_BACKLIGHT" | sed 's/current backlight value: //g'|sed 's/%//g')
echo "light: ""$light_state"
if [ "$light_state" -eq 0 ]; then
cat "$BRIGHTSAVEFILE" > "$BRIGHTSYSFS"
else
# back up current brightness level
cat "$BRIGHTSYSFS" > "$BRIGHTSAVEFILE"
# turn off backlight
"$INTEL_BACKLIGHT" 0
fi
補充一點有趣的是,您可以透過稍微修改 intel_backlight 來以令人難以置信的粒度控制背光。將其更改為將參數讀取為浮點數而不是整數,並進行浮點算術,只需要調整幾行程式碼,即可讓您進行極其精確的亮度更改,包括低於透過sysfs 獲得的最小值的亮度更改。
答案2
從 X Windows
在 X Windows 中,您可以使用該應用程式來xbacklight
取得和設定螢幕的亮度百分比。
例子
目前水平
$ xbacklight -get
100.000000
設定為 75%
$ xbacklight -set 75
$ xbacklight -get
73.333333
設定回 100%
$ xbacklight -set 100
$ xbacklight -get
100.000000
從控制台
要實現虛擬終端的類似功能,您可能需要透過/sys
檔案系統與 ACPI 設定進行互動。
例子
調暗它
$ echo "10" | sudo tee /sys/class/backlight/acpi_video0/brightness
10
全亮度
$ echo "15" | sudo tee /sys/class/backlight/acpi_video0/brightness
15
你必須使用這個,亮度範圍可以從0-9或0-15,我相信這最終取決於你的筆記型電腦。
這些都不起作用嗎?
如果這兩個選項都不符合您的需求,請查看 ArchLinux Wiki 的主題:背光。那篇文章包含了我所見過的實現這一目標的所有方法!