Wie schalte ich die Hintergrundbeleuchtung aus, lasse das LCD jedoch eingeschaltet?

Wie schalte ich die Hintergrundbeleuchtung aus, lasse das LCD jedoch eingeschaltet?

Wie stelle ich die Helligkeit auf Laptops auf Null ein, deren Mindesthelligkeitsregler von Null verschieden ist?

Die Lösung sollte unabhängig von XIe funktionieren, sie sollte auch in den virtuellen Terminals funktionieren.

Antwort1

Im Bereich der Laptops mit Intel-Chipsätzen scheint es eine Trennung zwischen den per LVDS und eDP angeschlossenen Panels zu geben:

eDP:

echo 4 > /sys/class/backlight/intel_backlight/bl_power

…sollte die Hintergrundbeleuchtung ausschalten.

echo 0 > /sys/class/backlight/intel_backlight/bl_power

sollte es wieder einschalten.

LVDS:

Ich habe festgestellt, dass es nicht möglich ist, die Hintergrundbeleuchtung meines Thinkpad X201 und meiner X201-Tablets über sysfs auszuschalten (bl_power bewirkt nichts; anscheinend ist es eDP-spezifisch).

Diese Seiteenthält eine sehr ausführliche Beschreibung der verworrenen Geschichte der Hintergrundbeleuchtungssteuerung im Linux-Kernel. TL;DR:

i915 unterstützt bl_power für eDP-Panels (aber nicht LVDS) ab Version 3.18.

JEDOCH,Ich konnte die Hintergrundbeleuchtung mithilfe eines Tools namens intel_backlightausschaltenIntel-GPU-Tools. Dies erfordert Root, da es anscheinend in ein Rohregister schreibt.

intel_backlight 0

...hat bei mir die Hintergrundbeleuchtung ausgeschaltet. Hier wurde sie durch Erhöhen der Helligkeitsregelung wieder aktiviert.

Ich habe außerdem ein Skript geschrieben, das ich angeschlossen habe, um es bei einem über die Tastatur generierten ACPI-Ereignis (in meinem Fall Fn+Leertaste oder ) auszulösen button/zoom. Wenn Ihr System dieses ACPI-Ereignis nicht verwendet, müssen Sie mit acpi_listen ein Ereignis finden, das Ihr System hat.

Um es auszulösen, habe ich eine Datei mit dem Namen fnspace-backlighterstellt /etc/acpi/events:

# Wyatt Ward
# hook for magnify acpi event (fn+space)
# toggle LCD backlight on/off
event=button/zoom
action=/etc/acpi/actions/toggle-lcd-light.sh

Ich habe außerdem eine Datei namens erstellt /etc/acpi/actions/toggle-lcd-light.sh, die als ausführbar gekennzeichnet ist. Damit kann ich die Hintergrundbeleuchtung umschalten, ohne die zuvor eingestellte Helligkeitsstufe zu ändern, und den temporären Wert in speichern /brightness. Da ACPI-Ereignisse Aktionen als Root ausführen, seien Sie vorsichtig.

#! /bin/bash
BRIGHTSAVEFILE="/brightness"
BRIGHTSYSFS="/sys/class/backlight/acpi_video0/brightness"

# is the light on or off?
INTEL_BACKLIGHT="/usr/bin/intel_backlight"
light_state=$("$INTEL_BACKLIGHT" | sed 's/current backlight value: //g'|sed 's/%//g')
echo "light: ""$light_state"
if [ "$light_state" -eq 0 ]; then
  cat "$BRIGHTSAVEFILE" > "$BRIGHTSYSFS"
else
  # back up current brightness level
  cat "$BRIGHTSYSFS" > "$BRIGHTSAVEFILE"
  # turn off backlight
  "$INTEL_BACKLIGHT" 0
fi

Und noch eine lustige Anmerkung: Sie können die Hintergrundbeleuchtung unglaublich feinfühlig steuern, indem Sie intel_backlight leicht modifizieren. Wenn Sie es so ändern, dass es Argumente als Gleitkommazahlen statt als Ganzzahlen liest und Gleitkommaarithmetik ausführt, müssen Sie nur ein paar Codezeilen anpassen und können unglaublich präzise Helligkeitsänderungen vornehmen, auch solche, die niedriger sind als das Minimum, das Sie über sysfs erreichen können.

Antwort2

Von X Windows

Unter X Windows können Sie die Anwendung verwenden, xbacklightum die prozentuale Helligkeit für Ihren Bildschirm abzurufen und einzustellen.

Beispiel

Aktuelles Level

$ xbacklight -get
100.000000

auf 75 % eingestellt

$ xbacklight -set 75
$ xbacklight -get
73.333333

auf 100% zurückgesetzt

$ xbacklight -set 100
$ xbacklight -get
100.000000

Von der Konsole aus

Um etwas Ähnliches für ein virtuelles Terminal zu erreichen, müssen Sie wahrscheinlich über das /sysDateisystem mit den ACPI-Einstellungen interagieren.

Beispiel

verdunkelt es

$ echo "10" | sudo tee /sys/class/backlight/acpi_video0/brightness 
10

volle Helligkeit

$ echo "15" | sudo tee /sys/class/backlight/acpi_video0/brightness 
15

Damit müssen Sie herumspielen, die Helligkeitseinstellung kann zwischen 0–9 oder 0–15 liegen, ich glaube, das hängt letztendlich von Ihrem Laptop ab.

Nichts davon funktioniert?

Wenn keine dieser beiden Optionen Ihren Anforderungen entspricht, werfen Sie einen Blick auf das Thema des ArchLinux-Wikis mit dem Titel:Hintergrundbeleuchtung. Dieser Artikel enthält jede Methode, die ich jemals gesehen habe, um das zu erreichen!

Verweise

verwandte Informationen