![如何在 VAIO 中使用 xbacklight 和亮度鍵](https://rvso.com/image/833400/%E5%A6%82%E4%BD%95%E5%9C%A8%20VAIO%20%E4%B8%AD%E4%BD%BF%E7%94%A8%20xbacklight%20%E5%92%8C%E4%BA%AE%E5%BA%A6%E9%8D%B5.png)
我有一台索尼 VAIO VPCCW15FL,安裝了 Ubuntu 12.04。
遺憾的是,儘管亮度計對亮度上/下按鍵有反應,但亮度鍵無法開箱即用。
昨天,我安裝了 xbacklight 並從終端機嘗試了它。例如,作為普通用戶(無需 sudo),我可以運行 xbacklight -40
,並且背光會變暗。效果很好。
然後我打開鍵盤設置,並嘗試設置兩個自訂快捷鍵來控制背光亮度。我將其中一個命名為“Brightness up”,作為xbacklight +10
它的命令。然後我點擊設定鍵,「顯示器亮度上升」出現(作為鍵),因此被偵測到。然而,即使重新啟動後,它也不起作用。我嘗試將命令更改為,/usr/bin/xbacklight +10
但它也不起作用。
這有什麼問題嗎?另外,我想知道是否可以使亮度計使用 xbacklight 命令而不是預設命令。我可以更改任何文件來執行此操作嗎?我認為這比定義快捷方式更好,因為它會與亮度欄整合。謝謝 :)
答案1
好的,我找到了一個不同的解決方案,它也適用於其他筆記型電腦,而不僅僅是 VAIO。
確保安裝了 xbacklight 和 inotify-tools,我剛剛運行了sudo apt-get install xbacklight inotify-tools
.
配置下列腳本並將其儲存為bash腳本(例如儲存為backlight_control.sh),並賦予其可執行權限chmod +x backlight_control.sh
。
然後將其新增至您的啟動應用程式(可以在 12.04 中透過點擊螢幕右上角的選單項目來完成)。背光等級應恢復到先前的設置,並且控制應開始工作,登入會話後。亮度計也顯示正確的數值。
我希望這可以幫助其他人遇到同樣的問題。歡迎對其性能或其他任何意見發表評論。
#!/bin/bash
# Script for setting the correct brightness for the backlight.
# Depends on: xbacklight and inotify-tools,
# Which can be installed by running:
# `sudo apt-get install xbacklight inotify-tools`
#
# Author: Esteban Serrano Roloff <e.serrano.r (at) me.com>
#
# Tested on a Sony VAIO VPCCW15FL
# running Ubuntu 12.04
# 2013-03-27 (YYYY-MM-DD)
# Setup the correct paths (look inside /sys/class/backlight/)
current_brightness_path="/sys/class/backlight/sony/brightness"
max_brightness_path="/sys/class/backlight/sony/max_brightness"
# To find the correct value for min_brightness, make the
# brightness meter go to its minimum (by repeatedly pressing
# the brightness down key), even if the actual brightness stays
# the same, and then run on a terminal:
# `cat /sys/class/backlight/sony/brightness`
min_brightness=0
#### No editing needed beyond this line (I hope) ####
max_brightness=`cat $max_brightness_path`
range=${max_brightness-min_brightness}
# Set the correct brightness level on start up.
current_brightness=`cat $current_brightness_path`
let current_brightness_pctg=100*$current_brightness/$range
xbacklight =$current_brightness_pctg
# Listen for brightness changes, forever.
while inotifywait -e close_write $current_brightness_path; do
current_brightness=`cat $current_brightness_path`
let current_brightness_pctg=100*$current_brightness/$range
xbacklight =$current_brightness_pctg
done