Hallo,
ich veröffentliche mal meine Lösung, welche ich am Beispiel des Asus F551MAV-BING-SX998B Win 8.1 bzw. X551MA mit (X)Ubuntu für mich einrichtete. Da Linux modular aufgebaut ist, sind drei Schritte nötig: Ein Script anlegen, das Script mit sudo ohne PW-Abfrage erlauben sowie zwei +/- Icons mit dem Script anlegen.
Achtung: Wenn die Helligkeitstasten FN + F? nicht funktionieren, gibt es meist andere Lösungen wie Bootoptionen oder Befehle wie xbacklight. Wenn diese jedoch auch nicht funktionieren, funktioniert es meist über den Schieberegler in Ubuntu, welcher wohl direkt die Werte in einer Datei brightness ändert. Ich habe mir das zunutze gemacht, um statt dem Schieberegler diese Datei per Klick auf -/+ Icons anzupassen und die Helligkeit somit mit Klicks im Panel zu steuern, wenn schon die Tasten nicht funktionieren und der Schieberegler doch meistens nicht geöffnet und daher zu umständlich ist - falls man überhaupt Ubuntu nutzt bzw. den Regler unter Xubuntu nachinstallieren möchte.
Andere beschränkten sich dann oft auf eine manuelle Änderung auf Maximalwerte wie 7812 im Terminal mit sudo-Rechten oder gar nur einen Startwert in einer Startdatei. Mit beidem wollte ich mich nicht zufrieden geben, sondern eine vollwertige, bequeme Lösung - wie folgt:
1. Script:
Anlegen:
nano ~/light
Inhalt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #!/bin/bash ###own script # needs at end of /etc/sudoers via sudo visudo: # USERNAME ALL = NOPASSWD: /home/USERNAME/bin/light # usage: sudo /home/USERNAME/bin/light -,+,-- or ++ # make two starters with this command inside: sudo /home/USERNAME/bin/light - # and: sudo /home/USERNAME/bin/light + now=$(cat /sys/class/backlight/intel_backlight/brightness) light="$now" [ "$1" == "+" ] && [ "$now" -le 6812 ] && light="$(( $now + 1000 ))" [ "$1" == "-" ] && [ "$now" -ge 1812 ] && light="$(( $now - 1000 ))" [ "$1" == "++" ] && light=7812 [ "$1" == "--" ] && light=812 echo "$light" > /sys/class/backlight/intel_backlight/brightness |
Speichern mit F3, Enter, F2. Die Pfade können variieren. Insbesondere die Werte in den Zeilen 11-14 sollten auf die eigene Hardware angepasst werden, wozu die Maximalwertausgabe weiter unten erklärt ist.
Ausführbar machen:
chmod u+x ~/light
2. PW-Abfrage von sudo umgehen:
sudo visudo
Am Ende einfügen:
BENUTZERNAME ALL = NOPASSWD: /home/BENUTZERNAME/bin/light
BENUTZERNAME ist zweimal (klein) einzusetzen. Speichern mit F3, Enter, F2.
3. Icons anlegen:
Gemäß Programmstarter einen Starter anlegen. Unter Xubuntu erfolgte das grafisch im Panel. Der fertige Starter sieht nun so aus:
[Desktop Entry] Version=1.0 Type=Application Name=- Comment=Brightness Exec=sudo /home/BENUTZERNAME/bin/light - Icon=zoom-out Path= Terminal=false StartupNotify=false
und wurde mit einem -Icon versehen. BENUTZERNAME einsetzen. Der andere Starter mit einem +Icon:
[Desktop Entry] Version=1.0 Type=Application Name=+ Comment=Brightness Exec=sudo /home/BENUTZERNAME/bin/light + Icon=zoom-in Path= Terminal=false StartupNotify=false
BENUTZERNAME einsetzen.
Im Prinzip ist nur der Befehl und ein Name einzutragen, eventuell noch ein Kommentar dazu und natürlich am besten ein Icon (aus z.B. /usr/share/icons/).
Nach einem Neustart kann man mittels der -/+Icons die Helligkeit verringern bzw. erhöhen.
Zusatz - Starten mit voreingestellter statt voller Helligkeit:
Damit nicht immer mit voller Helligkeit gestartet wird, kann man in der rc.local einen Eintrag machen (ab Ubuntu 14.10 Baustelle/Verlassen/systemd#etc-rc-local beachten, wobei der Link sich ändern kann, indem Verlassen wegfällt und später zusätzlich auch Baustelle):
echo 3812 > /sys/class/backlight/intel_backlight/brightness
Wenn man den Startwert setzt, sollte man beachten, dass mein Script Berechnungen durchführt, in welchen Schritten die Helligkeit verändert wird. Um das volle Helligkeitsspektrum auszuschöpfen, sind die Werte im Script sowie hier ggf. anzupassen.
Beispiel: Ich habe die maximale Helligkeit in dieser Datei auslesen können: /sys/class/backlight/intel_backlight/max_brightness. Wenn du eine andere Grafikkarte hast usw., können die Namen abweichen - darum klicke dich einfach mal durch. Öffne die Datei einfach mit Doppelklick in deinem Texteditor. Im Terminal ginge die Ausgabe mit cat so:
cat /sys/class/backlight/intel_backlight/max_brightness
Diesen Wert (7812) verarbeitet mein Script als Maximalwert in 1000-er-Schritten. Darum habe ich als Startwert nicht 4000, sondern 3812 eingetragen. Soweit mir bekannt, sollten falsche Werte keine Hardwareschäden verursachen - bei mir zumindest kam es nur zu Zugriffsberechtigungsfehlermeldungen.
Die Zeilen 11-12 des Scriptes zeigen wegen der 1000er-Schritte der Einfachheit halber, um den Bereich nicht zu verlassen, dass einfach vom Maximalwert (hier: 7812) 1000 abgezogen und auf den Minimalwert 1000 hinzuaddiert wurden.
Die Zeilen 13-14 des Scriptes enthalten die Möglichkeit, mittels z.B.
sudo /home/USERNAME/bin/light ++
direkt den dort vermerkten Maximal- bzw. Minimalwert aufzurufen. Dazu wurde allerdings kein Starter angelegt, möglich wäre dies jedoch. Hinweis: Der Einfachheit halber habe ich den Ordner bin hier in der Anleitung nicht erst anlegt, also muss man diesen auch bei diesem Befehl weglassen.
Einen Minimalwert in dem Sinne gibt es technisch nicht, jedoch lässt es sich so leichter rechnen. Ich habe dazu die ungerade 812 genommen und da dies unter 1000 ist, möchte ich diese nicht weiter um weitere 1000 verringern, um negative Werte zu vermeiden. Also hab ich noch einen 1000er-Schritt dazuaddiert. Wieder genau 1000, um am Ende wenigstens den Maximalwert 7812 erreichen zu können und nicht etwa nur 7500 oder so, was gerade bei Sonne wichtig sein kann.
So kurz das Script auch sein mag, so knapp auch meine Ausführung sein mag, doch füllt es einige Zeilen Text und brauchte etwas Zeit - insbesondere die ansatzweise Erläuterung des Scriptes. Fortgeschrittene werden den Sinn vermutlich sofort erfassen, Anfänger jedoch sind zumindest auf diese rudimentären Erklärungen eventuell angewiesen. Und so führte das bewusst knapp gehaltene Script dazu, dass es letztlich schwierig und nicht kurz zu erklären ist -ursprünglich war es ja nur für mich sowie beim Veröffentlichen nur für mein Modell gedacht.
Da es aber problemlos mit angepassten Werten auch anderswo eingesetzt oder etwa um eine Sprechblase mit dem aktuellen Wert erweitert werden kann, hab ich es mal so ausführlich gemacht - wohlwissend, dass manche sicherlich hier und da doch nich grübeln und teils drauf kommen, teils nachfragen müssten, wenn sie etwas nicht verstehen oder an ihr Gerät anpassen können. Theoretisch könnte man auch fixe Werte im Script vermerken, wäre sicherlich nachvollziehbarer und noch flexibler in den Helligkeitsstufen - aber ich wollte eine Berechnung der Schritte im Script und es schick und kurz halten. So wie es ist, steht es nun also zur Verfügung.
Sicherlich muss man dann bei vielen Intel-Grafikkarten bzw. z.B. Asus-Geräten nicht mal was an den Werten ändern, weil der Maximalwert genau mit meinem im Script identisch ist. Wie man das prüft, was der Maximalwert ist, habe ich im Beispiel unter dem Abschnitt Zusatz hier am Ende beschrieben.
Nun hoffentlich viel Spaß mit eurer Helligkeitsregelung.
Grüße, Benno