#author("2020-06-23T20:32:23+09:00","","")
#author("2020-06-23T20:33:19+09:00","","")
#navi(../)

* Pinebookの液晶の輝度を変える方法 [#q7c078c9]
Pinebookにarmbian(buster)をインストールしました。~
しかし、Fnキーを使った液晶の輝度調整は動作しませんでした。~
調べてみたところ、以下の値を変更すれば液晶の輝度(明るさ)調整が可能でした。~
また、Python3 + tk で輝度調整のスクリプトを作成しましたので紹介します。

#contents
#htmlinsert(minipc-top.html)

* 環境 [#jeae5b21]
- Pinebook A64
- Armbian buster

#ref(01.png)

* /sys/class/backlight/backlight/brightness [#h34c9aea]
液晶の明るさは、''/sys/class/backlight/backlight/brightness'' の値を変更することにより変更できます。

値は0〜10までのようです。

端末を起動し以下のコマンドを実行すれば液晶の明るさが変わります。~
以下の例では、5を指定してます。
 sudo sh -c "echo 5 > /sys/class/backlight/backlight/brightness"
&color(red){注意:0を指定すると真っ暗になります。やめておきましょう!};~
1〜10の範囲で指定してください。

rootでコマンドを実行するのであれば、sh -c は不要です。~
以下のようになります。
 echo 5 > /sys/class/backlight/backlight/brightness

* Python3 + tk による輝度調整スクリプト [#z83fb47f]
Python3 + tk で作成したスクリプトになります。
#ref(02.png)

動作させるには、python3-tk パッケージをインストールしてください。
 sudo apt install python3-tk

-brightness.py
 #!/usr/bin/python3
 import subprocess
 from tkinter import *
 
 PASSWORD="takayuki"
 BRIGHTNESS_PATH='/sys/class/backlight/backlight/brightness'
 FROM=1
 TO=10
 
 def get_brightness():
     if '' == PASSWORD:
         cmd = 'sudo sh -c "cat ' + BRIGHTNESS_PATH + '"'
     else:
         cmd = 'echo "' + PASSWORD + '" | sudo -S sh -c "cat ' + BRIGHTNESS_PATH + '"'
     p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
     stdout_data, stderr_data = p.communicate()
     return stdout_data.decode('ascii').strip()
 
 def set_brightness(self):
     v = str(var.get())
     if '' == PASSWORD:
         cmd = 'sudo sh -c "echo ' + v + ' > ' + BRIGHTNESS_PATH + '"'
     else:
         cmd = 'echo "' + PASSWORD + '" | ' + 'sudo -S sh -c "echo ' + v + ' > ' + BRIGHTNESS_PATH + '"'
     p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
     #print("Debug:" + cmd)
     stdout_data, stderr_data = p.communicate()
 
 root = Tk()
 
 var = IntVar()
 var.set(get_brightness())
 scale = Scale( root,
                variable=var,
                from_= FROM,
                to = TO,
                length = 250,
                orient = 'h',
                command = set_brightness)
 scale.pack()
 button = Button(root, text = "Quit", command = sys.exit)
 button.pack()
 
 root.title("brightness")
 root.update_idletasks()
 w = root.winfo_screenwidth()
 h = root.winfo_screenheight()
 size = tuple(int(_) for _ in root.geometry().split('+')[0].split('x'))
 x = w/2 - size[0]/2
 y = h/2 - size[1]/2
 root.geometry("%dx%d+%d+%d" % (size + (x, y)))
 
 root.mainloop()

あとは、chmodコマンドにて実行属性をつけます。
 chmod +x brightness.py

XFCEであれば、キーボードのアプリケーションショートカットキーに登録すると便利でしょう。
#ref(03.png)

以上、Pinebook + Armbian(buster)で液晶の輝度を調整する方法とスクリプトの紹介でした。

#htmlinsert(minipc-btm.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS