教你在Ubuntu系统下保存屏幕亮度设置

时间:2023-03-09 00:16:35
教你在Ubuntu系统下保存屏幕亮度设置
 本文保留屏幕亮度方法适合使用笔记本的朋友,大家都知道,过亮的屏幕不但刺眼而且缩短LCD屏幕寿命,不幸的是,Ubuntu默认关机后并不保存当前屏幕亮度配置数据,每次开机都要重新设置亮度,很不方便。本文介绍的方法可以彻底解决这个问题!
    1.修改/etc/default/acpi-support
    ENABLE_LAPTOP_MODE=true
    2.修改 /etc/laptop-mode/laptop-mode.conf
    交流电模式下使用 laptop mode
    #
    # Enable laptop mode when on AC power.
    #
    ENABLE_LAPTOP_MODE_ON_AC=1
    #电池那也可设为1
    使用 laptop mode 进行LCD亮度控制
    #
    # Should laptop mode tools control LCD brightness?
    #
    CONTROL_BRIGHTNESS=1
    #
    # Commands to execute to set the brightness on your LCD
    #
    BATT_BRIGHTNESS_COMMAND=”echo 0″
    LM_AC_BRIGHTNESS_COMMAND=”echo 9″
    NOLM_AC_BRIGHTNESS_COMMAND=”echo 9″
    BRIGHTNESS_OUTPUT=”/sys/class/backlight/acpi_video1/brightness”
    如果你不明白上面的设置的意思,可以参考下面的说明:
    ***********************************
    # * If your system has the file “/proc/acpi/video/VID/LCD/brightness” (VID may
    # be VID1 or similar), use this file as BRIGHTNESS_OUTPUT, and use
    # the command “echo “. The possible values can be listed using the
    # command:
    #
    # cat /proc/acpi/video/VID/LCD/brightness
    # * If you have a file /sys/class/backlight/…/brightness, then you can use
    # that file as BRIGHTNESS_OUTPUT, and the command “echo “.
    #
    # As far as I understand it the values are between 0 and
    # the value contained in the file /sys/class/backlight/…/max_brightness.
    **********************************
*****************************************
Ubuntu 无法调节并保存屏幕亮度解决办法
[日期:2012-09-13]
测试环境:
Acer Aspire 5750G
NVIDIA GeForce GT630M
Ubuntu 12.04 x86_64
其他情况解决方法类似。
调节屏幕亮度
Fn不能调节屏幕的亮度。因为fn调节的是/sys/class/backlight/acpi_video0/brightness文件,而I卡的文件是/sys/class/backlight/intel_backlight/brightness。
一、测试代码
启动系统,出现grub菜单时,按“e”编辑,在有linux内核路径那一行,添加“acpi_backlight=vendor”,如:
linux    /boot/vmlinuz-3.2.0-30-generic root=UUID=75c414be-2e17-407a-b699-94f6a398dff7 ro acpi_backlight=vendor  quiet splash
如果能正常启动,且用fn能调节屏幕亮度,说明成功,接着下一步。
二、修改grub
sudo vi /etc/default/grub
找到:
GRUB_CMDLINE_LINUX=""
改为:
GRUB_CMDLINE_LINUX="acpi_backlight=vendor“
我的grub文件如下:
# If you change this file, run 'update-grub' afterwards to update
#
# /boot/grub/grub.cfg.
#
# For full documentation of the options in this file, see:
#
#   info -f grub -n 'Simple configuration'
G
GRUB_DEFAULT=0
#
#GRUB_HIDDEN_TIMEOUT=0
G
GRUB_HIDDEN_TIMEOUT_QUIET=true
G
GRUB_TIMEOUT=3
G
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
G
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
G
GRUB_CMDLINE_LINUX="acpi_backlight=vendor"
#
# Uncomment to enable BadRAM filtering, modify to suit your needs
#
# This works with Linux (no patch required) and with any kernel that obtains
#
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
#
# Uncomment to disable graphical terminal (grub-pc only)
#
#GRUB_TERMINAL=console
#
# The resolution used on graphical terminal
#
# note that you can use only modes which your graphic card supports via VBE
#
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
#
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#
#GRUB_DISABLE_LINUX_UUID=true
#
# Uncomment to disable generation of recovery mode menu entries
#
#GRUB_DISABLE_RECOVERY="true"
#
# Uncomment to get a beep at grub start
#
#GRUB_INIT_TUNE="480 440 1"
更新grub.cfg
?  ~  sudo update-grub
查看grub.cfg 发现其中每个启动项都加入了“acpi_backlight=vendor”
?  ~  vi /boot/grub/grub.cfg
设定屏幕初始亮度
重启后发现,屏幕亮度又恢复为最大亮度。
查看影响屏幕亮度的文件
?  ~  vi /sys/class/backlight/intel_backlight/brightness
调节几次屏幕亮度发现其中数值会改变,我的笔记本数值范围为0~976。
手动修改该数值,会发现屏幕亮度随之改变(需要root用户执行):
?  ~  su  
Password: 
root@ www.linuxidc.com :/home/congbo# echo 500 > /sys/class/backlight/intel_backlight/brightness
因此,将该语句添加到 /etc/rc.local 就能开机自动设定屏幕初始亮度了。
修改/etc/rc.local如下(需要root用户执行):
#!/bin/sh -e
#
#
#
# rc.local
#
#
#
# This script is executed at the end of each multiuser runlevel.
#
# Make sure that the script will “exit 0″ on success or any other
#
# value on error.
#
#
#
# In order to enable or disable this script just change the execution
#
# bits.
#
#
#
# By default this script does nothing.
echo 500 > /sys/class/backlight/intel_backlight/brightness
e
exit 0
调节gamma值
?  ~  xgamma -gamma .7
-> Red  1.000, Green  1.000, Blue  1.000
<- Red  0.700, Green  0.700, Blue  0.700