スクリーンバックライトはどのように機能しますか?

スクリーンバックライトはどのように機能しますか?

以下を除いて、バックライトの設定と制御に関するすべてが私に適しています。

バックライトが最大にリセットされました。再起動/起動するたびに。バックライトの最小値は、他の場所での最小輝度設定ではなく、画面が完全に黒くなるまで続きます。 NB>上記の1.への答えはさまざまな場所で異なるため、実際にこれらすべてがどのように機能するかを読んで理解できる人やどこかを探しています。

私のラップトップで編集できる2つの異なるバックライトフォルダと多くのconfファイルがあります。したがって、システムに影響を与えるファイルの内容を理解する必要があります。

答え1

バックライトの鍵は、ここに示されているLinuxカーネルパラメータです/sys。値を1〜15の間の値に設定して操作できます。たとえば、

$ echo 5 | sudo tee /sys/class/backlight/acpi_video0/brightness

明るさを5に設定します。このカーネルパラメータの操作は抽象化されているため、キーボードまたはデスクトップアプレットを使用して値を変更するときは、次のことができます。Dバスそしてする

D-Busを使用すると、この構造を操作できますorg.freedesktop.Hal.Device.KeyboardBacklightするそうすることができる特権が許可されています。私のFedora 14システムでは、これを見ることができます。

$ grep -i backlight /etc/dbus-1/system.d/*
/etc/dbus-1/system.d/hal.conf:         send_interface="org.freedesktop.Hal.Device.KeyboardBacklight"/>
/etc/dbus-1/system.d/hal.conf:         send_interface="org.freedesktop.Hal.Device.KeyboardBacklight"/>

ファイルからhal.conf

  <!-- Only allow users at the local console to manipulate devices -->
  <policy at_console="true">
  ...
      <allow send_destination="org.freedesktop.Hal"
           send_interface="org.freedesktop.Hal.Device.KeyboardBacklight"/>

次のようにD-Busを介して現在の値を照会できます。

$ dbus-send \
     --print-reply \
     --system \
     --dest=org.freedesktop.Hal  \
     /org/freedesktop/Hal/devices/computer_backlight \
     org.freedesktop.Hal.Device.LaptopPanel.GetBrightness | \
     tail -1 | \
     awk '{print $2}'

戻り値:

15

次のようにコマンドラインで動作することもできます(int32:10下のビットは明るさを「10」に設定します)。

$ dbus-send \
     --print-reply \
     --system \
     --dest=org.freedesktop.Hal  \
     /org/freedesktop/Hal/devices/computer_backlight \
     org.freedesktop.Hal.Device.LaptopPanel.SetBrightness \
     int32:10 #2&>1 > /dev/null

明るさが変わったことがわかります。

$ cat /sys/class/backlight/acpi_video0/brightness
10

それでは、この問題をどのように解決するのですか?

1つのアイデアは、シャットダウンおよび/または再開する前に現在の明るさをファイルに保存し、上記のコマンドを開始(おそらく~/.xinitrc)に追加し、dbus-send ...以前にファイルに保存した明るさ値を追加することです。

/sys/class/backlightの下に複数のファイルがあるのはなぜですか?

askubuntu.comで次のタイトルのQ&Aを見ました。システムに2つの明るさ制御ファイル(/sys/class/)があるのはなぜですか?。このコメントに対する回答は次のとおりです。

システム起動時にカーネルパラメータacpi_backlight = vendorを使用すると、acpi_video0エントリはIntelエントリに置き換えられますが、現在はFnキーでこのエントリの値を変更できません。

また、次のタイトルのカーネル文書も見つかりました。カーネルパラメータ。このドキュメントには、次のaCPIオプションが記載されています。

acpi_backlight= [HW,ACPI]
        acpi_backlight=vendor
        acpi_backlight=video
        If set to vendor, prefer vendor specific driver
        (e.g. thinkpad_acpi, sony_acpi, etc.) instead
        of the ACPI video.ko driver.

intel_backlightの参照は、/sys/class/backlightIntelグラフィックカードに付属のグラフィックドライバのバックライト部分のようです。

引用する

関連情報