如何在Sony VAIO Fit 15E上使用亮度控制?

我的亮度设置有问题。 当我将亮度降低到1并重新启动计算机时,它会重置为最大亮度值。 我厌倦了调整它并将其再次降低到1.为什么设置不能为我保存最后的亮度设置? 如何通过编程保存当前值并在重启后恢复?

我还尝试在/etc/rc.local文件中添加echo 0 > /sys/class/backlight/intel_backlight/brightness ,但重新启动后,它再次重置为最大值。

我的笔记本电脑型号是Vaio SVF1521DCXW

我在这个位置/ sys / class / backlight /中有另一个名为acpi_video0文件夹

我在结尾但在gksu gedit /etc/rc.local文件中的exit 0之前添加了以下命令:

  echo 0 > /sys/class/backlight/intel_backlight/brightness echo 0 > /sys/class/backlight/acpi_video0/brightness 

它对我有用。 现在我想获得当前亮度并将其保存到文件中以在下次重启时恢复它。

如何在下次重启后持续调整亮度负载?

第1步:检查亮度级别

将亮度设置为最大值,并通过以下命令检查当前级别:

  cat /sys/class/backlight/acpi_video0/max_brightness 

(我的笔记本电脑最大亮度是100 🙂

现在将亮度设置为最小值,并通过调用下一个命令来检查当前级别:

  cat /sys/class/backlight/acpi_video0/brightness 

(我的笔记本电脑最低亮度等级为0 🙂

第2步:创建一个文件来存储您当前的亮度:

  sudo touch /etc/init.d/prev_brightness sudo chmod o+w /etc/init.d/prev_brightness 

步骤3:在关闭到您在上一步中创建的文件prev_brightness ,创建一个存储当前亮度的脚本( save_screen_brightness文件):

  sudo touch /etc/init.d/save_current_brightness sudo chmod +x /etc/init.d/save_screen_brightness 

使用您喜欢的编辑器应用打开save_screen_brightness文件:

  gksu gedit /etc/init.d/save_screen_brightness 

并将此脚本放入其中:

  #!/bin/sh cat /sys/class/backlight/acpi_video0/brightness > /etc/init.d/prev_brightness 

保存并转到下一步;)

第4步:每次关闭或重新启动计算机时都要运行脚本:

  sudo ln -s /etc/init.d/save_current_brightness /etc/rc0.d/K99save_screen_brightness ## Shuttingdown ^^ sudo ln -s /etc/init.d/save_current_brightness /etc/rc6.d/K99save_screen_brightness ## Rebooting ^^ 

第5步:加载启动计算机时存储的值:

在结尾和exit 0之前将以下行添加到/etc/rc.local文件中:

  cat /etc/init.d/prev_brightness > /sys/class/backlight/acpi_video0/brightness 

而已 ;)

感谢@Hevilath的回答和@ user207402的回答以及@AiPdimi的回答

在Sony Vaio E15136CN(以及其他大多数使用AMD显卡的设备)上,acpi_video0不存在。 相反, /sys/class/backlightradeon_bl0 。 所以要添加到rc.local文件的语句是

 echo 60 > /sys/class/backlight/radeon_bl0/brightness 

将60替换为适合您的任何值。 我的亮度范围是0到255(你可以在/sys/class/backlight/radeon_bl0/max_brightness检查你的最大亮度),所以60适合我。

我遇到的答案都没有提到AMD Radeon显卡。 所以我想我可能会添加一个与之相关的答案。 另外,StéphaneGourichon回答了如何设置默认显示亮度? 不适用于Sony Vaio E15136CN。 简而言之,这些是要执行的步骤:

步骤1:

 sudo nano /etc/rc.local 

第2步:

 echo 60 > /sys/class/backlight/radeon_bl0/brightness 

第3步:

重启系统。

制作一个类似fixMaxBrightness.sh的文件

将所有这些行复制到它,通过chmod +x fixMaxBrightness.sh使其可执行并通过此命令运行它sudo ./fixMaxBrightness.sh重启系统。


 #!/bin/bash #this script are going to get last change screen Brightness #and put it in /.FixBritness #this folder is in home directory that the following line make it mkdir $HOME/.FixBritness cd $HOME/.FixBritness #make two another script that put current brightness in "currntBritness" file, #and it must run when system is going down cat > getBritness.sh <<_eof_ #!/bin/bash cat /sys/class/backlight/acpi_video0/actual_brightness> $HOME/.FixBritness/currntBritness exit 0 _EOF_ #to get last brightness that saved in "currntBritness" file #and put it in system brightness file cat > putLastBritness.sh <<_eof_ #!/bin/bash cat $HOME/.FixBritness/currntBritness> /sys/class/backlight/acpi_video0/brightness exit 0 _EOF_ # create currntBritness file and put zero to defult value touch currntBritness echo 0 > currntBritness chmod 755 getBritness.sh chmod 755 putLastBritness.sh #put in /etc/init.d/ because these file will use in /etc/rc1 through rc6 mv getBritness.sh /etc/init.d/ mv putLastBritness.sh /etc/init.d/ #make a symbolic link to getBritness.sh that get brightness when: #shutting down ln -s /etc/init.d/getBritness.sh /etc/rc0.d/S11getBritness.sh #and restart ln -s /etc/init.d/getBritness.sh /etc/rc6.d/S11getBritness.sh #symlink to put last brightness when system start. ln -s /etc/init.d/putLastBritness.sh /etc/rc1.d/S66putLastBritness.sh ln -s /etc/init.d/putLastBritness.sh /etc/rc2.d/S66putLastBritness.sh ln -s /etc/init.d/putLastBritness.sh /etc/rc3.d/S66putLastBritness.sh exit 0