Benutzerdefinierte Helligkeitssteuerung Skript mit dbus und Zenity-Skala
Einführung:
Da dbus
ich weiß, dass Ubuntus Unity auf Service angewiesen ist , um viele Einstellungen und Ereignisse an Kernel und Hardware zu kommunizieren, habe ich ein einfaches Bash-Skript zusammengestellt, das auf dbus
und basiert zenity --scale
.
Installation
Das Skript kann von hier kopiert oder von meinem Github importiert werden .
So kopieren Sie das Skript manuell:
- Öffnen Sie den
gedit
Texteditor, kopieren Sie den Code und speichern Sie die Datei. Erinnere dich an den Ort. Am besten wäre es im $HOME/bin
Ordner.
- Öffnen Sie das Terminal und navigieren Sie zum Speicherort des Skripts. Problem
chmod +x scriptName.sh
- Zu diesem Zeitpunkt ist das Skript betriebsbereit. Sie können es an eine Tastenkombination , einen Desktop oder einen Launcher binden .
So importieren Sie aus Github:
sudo apt-get install git
- Wenn Sie kein
$HOME/bin
Verzeichnis haben, erstellen Sie eines.
cd $HOME/bin/; git clone https://github.com/SergKolo/sergrep.git
Sobald der Download abgeschlossen ubright.sh
ist, kann er verwendet werden $HOME/bin/sergrep
.
Skriptquelle
#!/usr/bin/env bash
#
###########################################################
# Author: Serg Kolo , contact: 1047481448@qq.com
# Date: February 25th, 2016
# Purpose: Simple brightness control for Ubuntu Unity
# Written for: https://askubuntu.com/q/583863/295286
# Tested on: Ubuntu 14.04 LTS
###########################################################
# Copyright: Serg Kolo , 2016
#
# Permission to use, copy, modify, and distribute this software is hereby granted
# without fee, provided that the copyright notice above and this permission statement
# appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
# set -x
ARGV0="$0"
ARGC="$#"
main ()
{
local DISPLAY=:0
getPercentage | setBrightness > /dev/null
# echo $(getPercentage)
}
setBrightness()
{
local PERCENTAGE
read PERCENTAGE
[[ -n "$PERCENTAGE" ]] || exit 1
dbus-send --session --print-reply\
--dest=org.gnome.SettingsDaemon.Power\
/org/gnome/SettingsDaemon/Power \
org.gnome.SettingsDaemon.Power.Screen.SetPercentage uint32:"$PERCENTAGE"
}
getPercentage()
{
local PCT
PCT="$(zenity --scale --text='Choose brightness level')"
if [[ -n PCT ]]
then
echo "${PCT}"
fi
}
main
Zusätzliche Informationen: Während sich viele Antworten hier darauf stützen xrandr
, ist zu beachten, dass xrandr
es sich nicht um eine "tatsächliche" Hardwarelösung handelt, dh, die Farbe des Bildschirms kann so geändert werden, dass er weniger hell erscheint, der tatsächliche Stromverbrauch des Bildschirms jedoch nicht verringern. Von der xrandr-Manpage:
- Helligkeit Helligkeit
Multiplizieren Sie die Gammawerte auf dem aktuell an die Ausgabe angehängten CRTC mit dem angegebenen Gleitkommawert. Nützlich für zu helle oder zu schwache Ausgänge. Dies ist jedoch nur eine Softwaremodifikation. Wenn Ihre Hardware Unterstützung bietet, um die Helligkeit tatsächlich zu ändern, werden Sie wahrscheinlich die Verwendung von xbacklight bevorzugen.
Diese Antwort basiert auf der dbus
Benutzeroberfläche, die die tatsächliche Helligkeitseinstellung ändert, die durch eine Datei im /sys/class/backlight
Unterordner dargestellt wird. Durch die Verwendung dbus
steuern wir also tatsächlich die Hardware.
Zusammenhängende Posts