Scripting
拔下電池時調整亮度的 Bash 腳本
我正在嘗試設置我的系統並練習腳本等。我在三星 RC520 筆記型電腦 (
Linux 3.11.0-12-generic x86_64
) 上執行 Linux Mint 16。我想實現一個腳本,當我拔掉電源時將我的螢幕亮度降低到預設值(並在我重新插入時提高它)。我可以做一些非常基本的腳本,但不能接近這個水平。我有“xbacklight”,它將從命令行設置亮度,所以當我拔掉電源時,我想要實現的線路是
xbacklight -set 20
. 我也知道拔掉電源是由 acpi 註冊的;當我插上電源然後重新接通電源時,我得到以下資訊acpi_listen
:$ acpi_listen ac_adapter ADP1 00000080 00000000 processor CPU0 00000081 00000000 processor CPU1 00000081 00000000 processor CPU2 00000081 00000000 processor CPU3 00000081 00000000 ac_adapter ADP1 00000080 00000001 processor CPU0 00000081 00000000 processor CPU1 00000081 00000000 processor CPU2 00000081 00000000 processor CPU3 00000081 00000000 battery BAT1 00000080 00000001
所以我知道我必須使用它,但我有兩個主要問題:我不知道將腳本放在哪里以便它自動實現,而且我不知道如何辨識 acpi 中的外掛,因為我只知道該怎麼做
acpi_listen
。
我相信 Linux Mint 帶有
pm-utils
,這是我用來按照您的要求編寫腳本的。以下是我編寫的腳本,用於在拔下電腦時調暗螢幕(和鍵盤),並在重新插入時恢復亮度:您必須使腳本可執行並將其放在
/etc/pm/power.d/
.#!/bin/sh # Adjust brightness of backlights based on power source case $1 in # On battery true) # Dim keyboard backlight echo 0 > /sys/class/leds/asus::kbd_backlight/brightness # Dim screen backlight expr `cat /sys/class/backlight/acpi_video0/max_brightness` / 100 > \ /sys/class/backlight/acpi_video0/brightness ;; # On AC false) # Dim keyboard backlight cat /sys/class/leds/asus::kbd_backlight/max_brightness > \ /sys/class/leds/asus::kbd_backlight/brightness # Dim screen backlight cat /sys/class/backlight/acpi_video0/max_brightness > \ /sys/class/backlight/acpi_video0/brightness ;; esac return 0
true
當電腦被拔出和電腦被插入時,使用參數呼叫該腳本false
。有關
pm-utils
這裡的更多資訊是一個很好的地方。