Gibt es eine Helligkeitsregelung für Desktops?


7

Ich verwende Ubuntu Trusty tahr und habe festgestellt, dass es keine Helligkeitssteuerung gibt (wie ein Schieberegler). In Windows verwende ich Intels Grafikmedien-Beschleuniger, um die Helligkeit zu reduzieren, aber hier sieht es unmöglich aus.

Ich werde meinen Computer spät in der Stunde zum Lernen verwenden und die Hardwaretasten meines Monitors sind kaputt, sodass jede Hilfe geschätzt wird.



Verwenden Sie anstelle von 0 und 1 eine Zahl zwischen 0,7.
Muru

@muru Zwei völlig unterschiedliche Fragen, auch wenn die Antworten ähnlich sind.
Seth

Antworten:


3

Auf dieser Seite habe ich vor einiger Zeit ein nettes Skript von jemandem gefunden. DAS GEHÖRT MIR NICHT!

Geben Sie hier die Bildbeschreibung ein

Ich benutze es seitdem auf meinem Netbook, Xubuntulaufe und es scheint auf irgendetwas zu laufen.

Aus Gründen, dass keine Nur-Link-Antwort veröffentlicht wird, finden Sie hier:

#!/usr/bin/env python

from gi.repository import Gtk
import subprocess

class BrightnessScale:
    def __init__(self):
        # get active monitor and current brightness
        self.monitor = self.getActiveMonitor()
        self.currB = self.getCurrentBrightness()

    def initUI(self):
        # initliaze and configure window 
        window = Gtk.Window()
        window.set_title('Brightness Scale')
        window.set_default_size(250, 50)
        window.set_position(Gtk.WindowPosition.CENTER)
        window.set_border_width(10)

        # slider configuration
        self.adjustment = Gtk.Adjustment(self.currB, 0, 100, 1, 10, 0)
        self.scale = Gtk.HScale()
        self.scale.set_adjustment(self.adjustment)
        self.scale.set_digits(0)

        # close Gtk thread on closing window
        window.connect("destroy", lambda w: Gtk.main_quit())

        # setup event handler on value-changed
        self.scale.connect("value-changed", self.scale_moved)

        # add the scale to window
        window.add(self.scale)

        # show all components in window
        window.show_all()

        # close window on pressing escape key
        accGroup = Gtk.AccelGroup()
        key, modifier = Gtk.accelerator_parse('Escape')
        accGroup.connect(key, modifier, Gtk.AccelFlags.VISIBLE, Gtk.main_quit)
        window.add_accel_group(accGroup)

    def showErrDialog(self):
        self.errDialog = Gtk.MessageDialog(None, 
                                           Gtk.DialogFlags.MODAL,
                                           Gtk.MessageType.ERROR,
                                           Gtk.ButtonsType.OK,
                                           "Unable to detect active monitor, run 'xrandr --verbose' on command-line for more info")
        self.errDialog.set_title("brightness control error")
        self.errDialog.run()
        self.errDialog.destroy()

    def initStatus(self):
        if(self.monitor == "" or self.currB == ""):
            return False
        return True

    def getActiveMonitor(self):
        #Find display monitor
        monitor = subprocess.check_output("xrandr -q | grep ' connected' | cut -d ' ' -f1", shell=True)
        if(monitor != ""):
            monitor = monitor.split('\n')[0]
        return monitor

    def getCurrentBrightness(self):
        #Find current brightness
        currB = subprocess.check_output("xrandr --verbose | grep -i brightness | cut -f2 -d ' '", shell=True)
        if(currB != ""):
            currB = currB.split('\n')[0]
            currB = int(float(currB) * 100)
        else:
            currB = ""
        return currB

    def scale_moved(self, event):
        #Change brightness
        newBrightness = float(self.scale.get_value())/100
        cmd = "xrandr --output %s --brightness %.2f" % (self.monitor, newBrightness)
        cmdStatus = subprocess.check_output(cmd, shell=True)

if __name__ == "__main__":
    # new instance of BrightnessScale
    brcontrol = BrightnessScale()
    if(brcontrol.initStatus()):
        # if everything ok, invoke UI and start Gtk thread loop
        brcontrol.initUI()
        Gtk.main()
    else:
        # show error dialog
        brcontrol.showErrDialog()

Wie benutzt man

  • Fügen Sie das Skript in eine leere Datei ein und speichern Sie es wie brightness_setin ~/bin(Sie müssen wahrscheinlich das Verzeichnis erstellen). Machen Sie es ausführbar

  • Fügen Sie es einer Tastenkombination hinzu: Wählen Sie: Systemeinstellungen> "Tastatur"> "Tastenkombinationen"> "Benutzerdefinierte Tastenkombinationen". Klicken Sie auf das "+" und fügen Sie den Befehl hinzu:

    brightness_set
    
  • Melden Sie sich ab und wieder an und es sollte funktionieren


Bearbeiten

Um ein schönes Set zu erstellen, können Sie den Schieberegler in Dash, im Launcher oder in einem anderen Anwendungsmenü verfügbar machen, indem Sie eine .desktopDatei hinzufügen~/.local/share/applications

Geben Sie hier die Bildbeschreibung ein

[Desktop Entry]
Type=Application
Name=Brightness Scale
Icon=/path/to/set_brightness.png
Exec=brightness_set
OnlyShowIn=Unity;
  • Legen Sie in der Icon=Zeile den Pfad zum Symbol fest. Yopu kann Ihr eigenes Symbol auswählen oder das folgende Symbol wie folgt speichern set_brightness.png:

    Geben Sie hier die Bildbeschreibung ein

  • In der Exec=Zeile wird davon ausgegangen, dass sich das Skript in $PATH(einschließlich ~/binUbuntu) befindet und ausführbar ist

Dies funktioniert jedoch nur für den primären Monitor.
Dieser Brasilianer

3

Dadurch funktionieren Ihre Helligkeitsfunktionstasten nicht, es handelt sich jedoch um einen Workround.

Installieren Sie Brightness Controller mit den folgenden Befehlen: Installieren Sie Brightness Controller mit den folgenden Befehlen:

sudo add-apt-repository ppa:apandada1/brightness-controller
sudo apt-get update

Für Version 1 mit bis zu 4 Monitorunterstützung:

sudo apt-get install brightness-controller

sudo apt-get install brightness-controller-simple

] ([! [Brightness Controller Version 1

Für Version 2 mit Multi-Monitor-Unterstützung und anderen Funktionen: Sie können die Helligkeit von zwei Monitoren mithilfe der Schieberegler steuern.

sudo apt-get install brightness-controller


(Quelle: ubuntu.com )

Geben Sie hier die Bildbeschreibung ein


Laut Entwickler funktioniert diese Lösung nur für bis zu 2 Displays .
Dieser Brasilianer

1

Ein Skript, das das Einstellen der Helligkeit erleichtert, basierend auf xrandrund zenity:

#! /bin/bash

displays=($(xrandr | awk '/ connected /{print $1}'))

if (( ${#displays[@]} > 1 ))
then
    selected_display="$(zenity --list --title 'Select Display' --radiolist --column '' --column 'Display' $(xrandr | awk '/ connected /{print NR,$1}'))"
else
    selected_display="${displays[0]}"
fi

zenity --scale --title "Set brightness of $selected_display" --value=100 --print-partial |
while read brightness
do
    xrandr --output "$selected_display" --brightness $(awk '{print $1/100}' <<<"$brightness"})
done

Installieren Sie Zenity und xrandr:

sudo apt-get install x11-xserver-utils zenity

Speichern Sie das Skript irgendwo, machen Sie es ausführbar ( chmod +x some-script.sh) und starten Sie einen Launcher, wenn Sie möchten. Anschließend können Sie das Skript ausführen und über diese GUI die Helligkeit einstellen.

Screenshots:

Auswahl der Anzeige Helligkeitsregler


1

Benutzerdefinierte Helligkeitssteuerung Skript mit dbus und Zenity-Skala

Geben Sie hier die Bildbeschreibung ein

Einführung:

Da dbusich 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 dbusund basiert zenity --scale.

Installation

Das Skript kann von hier kopiert oder von meinem Github importiert werden .

So kopieren Sie das Skript manuell:

  1. Öffnen Sie den geditTexteditor, kopieren Sie den Code und speichern Sie die Datei. Erinnere dich an den Ort. Am besten wäre es im $HOME/binOrdner.
  2. Öffnen Sie das Terminal und navigieren Sie zum Speicherort des Skripts. Problemchmod +x scriptName.sh
  3. 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:

  1. sudo apt-get install git
  2. Wenn Sie kein $HOME/binVerzeichnis haben, erstellen Sie eines.
  3. cd $HOME/bin/; git clone https://github.com/SergKolo/sergrep.git

Sobald der Download abgeschlossen ubright.shist, 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 xrandres 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 dbusBenutzeroberfläche, die die tatsächliche Helligkeitseinstellung ändert, die durch eine Datei im /sys/class/backlightUnterordner dargestellt wird. Durch die Verwendung dbussteuern wir also tatsächlich die Hardware.

Zusammenhängende Posts


Ich sehe ARGV0="$0"und ARGC="$#"definiert, aber nicht referenziert. Vermisse ich etwas
WinEunuuchs2Unix

1

Eyesome

Ich habe Eyesome entwickelt , das rund um die Uhr läuft, um:

  • Steuern Sie die Helligkeit und das Gamma des Displays (Nachtlicht usw.) für drei Monitore.
  • Jeden Morgen werden die Sonnenaufgangs- und Sonnenuntergangszeiten aus dem Internet basierend auf Ihrem Städtenamen abgerufen.
  • Helligkeit und Gamma werden nach Sonnenaufgang allmählich erhöht
  • Helligkeit und Gamma nehmen vor Sonnenuntergang allmählich ab
  • Schlaf ca. 12 Stunden täglich und nachts, es sei denn, die Wiederaufnahme der Suspendierung oder der ein- / ausgeschalteten Monitore wird fortgesetzt

Beispielkonfiguration - Registerkarte "Allgemein"

Geben Sie hier die Bildbeschreibung ein

Beispielkonfiguration - Registerkarte Monitor 3

schöner Konfigurationsmonitor 3.png


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.