このエントリーをはてなブックマークに追加


Pinebookの液晶の輝度を変える方法

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


スポンサーリンク

環境

  • Pinebook A64
  • Armbian buster
01.png

/sys/class/backlight/backlight/brightness

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

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

端末を起動し以下のコマンドを実行すれば液晶の明るさが変わります。
以下の例では、5を指定してます。

sudo sh -c "echo 5 > /sys/class/backlight/backlight/brightness"

注意:0を指定すると真っ暗になります。やめておきましょう!
1〜10の範囲で指定してください。

rootでコマンドを実行するのであれば、sh -c は不要です。
以下のようになります。

echo 5 > /sys/class/backlight/backlight/brightness

Python3 + tk による輝度調整スクリプト

Python3 + tk で作成したスクリプトになります。

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であれば、キーボードのアプリケーションショートカットキーに登録すると便利でしょう。

03.png

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


スポンサーリンク

添付ファイル: file03.png 19件 [詳細] file02.png 12件 [詳細] file01.png 12件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-06-23 (火) 20:36:20