##はじめに
この記事は学生アドベントカレンダー2017の記事です。
上記のアドベントカレンダーを作った張本人であるのにもかかわらず、記事の投稿が遅れてしまい申し訳ありません。
ブログは遅れましたが、引っ越しの片付けは進みました。
作業する場所づくり
まず、PATHが通っているかを確認します。
echo $PATH
で確認できます。
すでに通っているPATH以外を追加したい場合は
export $PATH:追加したいディレクトリの絶対PATH
export $PATH:/usr/local/bin
みたいな感じでできます。
輝度の変更
輝度の変更は
sudo echo 80 > /sys/class/backlight/intel_backlight/brightness
でできます。
また、どのくらいまで輝度をあげられるのかは。
cat /sys/class/backlight/intel_backlight/max_brightness
で見れます。一応最大輝度超えないように気をつけてください。
これでターミナルから輝度調整できますね。
ショートカットキーに割り当てる
ショートカットキーに割り当てて、輝度を調整するためには押した回数だけ輝度が変化する必要があります。
なので上記のように絶対的な数値を入力するのではなく、現在の値からどれだけ変化するかの値を入力する必要があります。
僕が今使ってるxfce4だと、ショートカットキーに割り当てたコマンドに引数渡せないけど、オプションなら行けるっぽいので、わざわざオプションつけてあげました。
#!/bin/bash
#画面輝度調整する奴
readonly BRIGHT_PATH='/sys/class/backlight/intel_backlight/brightness'
readonly MAX_BRIGHT_PATH='/sys/class/backlight/intel_backlight/max_brightness'
readonly MAX_BRIGHTNESS=$(( $(cat $MAX_BRIGHT_PATH) - 10 ))
readonly MIN_BRIGHTNESS=10
usage() {
echo '頑張って'
exit 0
}
check_uplim() {
if [ $1 -ge $MAX_BRIGHTNESS ]; then
echo brightness is max now
exit 1
fi
return 0
}
check_lolim() {
if [ $1 -le $MIN_BRIGHTNESS ]; then
echo brithness is min now
exit 1
fi
return 0
}
brightness=$(cat $BRIGHT_PATH)
while getopts :udm OPT
do
case $OPT in
u) OPTION_u=True;;
d) OPTION_d=True;;
m) echo max brightness is $(cat $MAX_BRIGHT_PATH);;
\?) usage;;
esac
done
if [ "$OPTION_u" = "True" ]; then
check_uplim $brightness
brightness=$(( brightness += 10 ))
echo $brightness > $BRIGHT_PATH
echo brightness is $(cat $BRIGHT_PATH) now
exit 0
fi
if [ "$OPTION_d" = "True" ]; then
check_lolim $brightness
brightness=$(( brightness -= 10 ))
echo $brightness > $BRIGHT_PATH
echo brightness is $(cat $BRIGHT_PATH) now
exit 0
fi
これを先ほどのPATHが通ってるディレクトリに配置してください。
その後、sudo chmod 755 ~~~
と権限付与をして、
sudo chmod 777 /sys/class/backlight/intel_backlight/brightness
こっちにも権限与えておきます。
これをキーボードショートカットキーに割り当てたら動いてくれました。やったね。
##最後に
今回、bashを使ってスクリプト書いたの初めてだったので、新鮮で楽しかったです。なんか間違っているところや、普通こう書くよ。みたいなのがあれば教えてください。