私は、Ubuntu 12.04 がインストールされた Sony VAIO VPCCW15FL を持っています。
残念ながら、明るさメーターは明るさアップ/ダウンキーの押下に反応しますが、明るさキーはそのままでは機能しません。
昨日、xbacklight をインストールしてターミナルから試してみました。通常のユーザー (sudo なし) として、 xbacklight -40
たとえば を実行すると、バックライトが暗くなります。うまく動作します。
次に、キーボード設定を開き、バックライトの明るさを制御するための 2 つのカスタム ショートカットを設定しようとしました。 1 つに「明るさアップ」という名前を付け、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