明るさ変えるために、毎回ディスプレイのメニュー開いて、ボタンぽちぽちして…
まだるっこしい!
DDC/CI対応だったので、ddcutilをインストールしてショートカットから実行してみた
ラズパイ2と3しか動作確認してないらしかったけど、zeroでも普通に動く
やり方が日本語で全然引っかからないのでメモを残しておく
ddcutilインストール
公式マニュアル
Raspberry Pi - ddcutil Documentation
要約すると、
- config.txtにdtparam=i2c2_iknowwhatimdoingを追加
- 既にopenGL等の導入でi2c-2が開放済なら不要
- apt-get install ddcutil
以上
若干ややこしいが、configでi2cを有効にする必要はない
コマンドのメモ
機械翻訳だとちんぷんかんぷんだったので、使うやつだけ抜粋
- capabilities
- 設定項目のリスト
- 16進番号と内容をセットで表示
- getvcp xx
- xx(項目番号)の現在値、最小値、最大値を表示
- --terse
- getvcpの出力結果を簡略版にする
- setvcp xx yy
- xxの現在値をyy(値)に更新する
- --noverify
- setvcpをちょっと速くする
- --bus 2 --nodetect
- モニタ検索をスキップしてちょっと速くする
スクリプトを書く
初心者なため試行錯誤
なんとか動いたので、実行権限も忘れずに付けてやる(最初忘れてた)
最初に書いたバックライトレベルを現在値から5下げる処理
val=$(ddcutil getvcp 10) val=`echo "$val" | sed -e "s/^.*current value = *\(.*\),.*$/\1/g"` val=`expr $val \- 5` ddcutil setvcp 10 "$val"
実行してみると3秒近くかかる
だめね、やり直し!
改良版
val=$(ddcutil getvcp 10 --bus 2 --nodetect --terse) val=${val#*C } val=${val% *} val=$(( val - 5 )) ddcutil setvcp 10 "$val" --bus 2 --nodetect --noverify
色々変えたけど、ループも無いし、ddcutilのコマンド最適化以外はおまじない
なんとか1秒くらい短くなった
もっと速くならんかな…
ランチャーに登録
いつでも使えるようにランチャーからショートカットを起動できるようにする
ここにある通りに.desktopファイルを作る
How to add a shell script to launcher as shortcut - Ask Ubuntu
投稿日は古いけどやり方そのまま
ランチャー登録はドラッグでは受け付けないため、右クリックメニューから設定開いて追加
このときにshファイルに実行権限が無いと登録できない
できなかったw
これで一応明るさが変えられるようになった
ただしもっさり
1回だけ反応無視してバシバシ連打してみたら、OSが止まったw
無理させてごめんよ…