Nach der Installation des NVIDIA-Treibers funktioniert die Helligkeit nicht


26

Ich habe vor kurzem Ubuntu 11.10 auf meinem Mac Book Pro 7.1 installiert. Ich habe den NVIDIA-Treiber (285) installiert. Die Helligkeitstasten funktionieren (F1 und F2) und ich bekomme die Box mit der Helligkeit, aber sie macht nichts. Ich kann die Helligkeit in den NVIDIA X Server-Einstellungen ändern. Wie kann ich die Helligkeit zum Laufen bringen, ohne den Treiber zu deinstallieren? Danke im Voraus.


Das Gleiche ist mir auf einem MacBook Pro 5.5 passiert.
Cerin

1
Nur eine Nachbereitung, ich habe alle dokumentierten Lösungen ausprobiert und nichts hat jemals funktioniert, einschließlich der Verwendung des neuesten Nvida-Treibers. Als ich jedoch den Nvidia-Treiber löschte und den Open-Source-Nouveau-Treiber verwendete, funktionierte das Dimmen des Bildschirms sofort.
Cerin

@Cerin, warum schreibst du das nicht als Antwort mit allen Schritten auf, damit ein Anfänger es nachvollziehen kann? Schreibe mir einen Kommentar, wenn du das getan hast, und wenn es eine gute Antwort ist, stimme ich dem zu, und es wird wahrscheinlich auch anderen helfen.
Elder Geek

1
@ElderGeek, Leider unterstützt Nouveau das Anhalten / Fortsetzen nicht, was es für einen Laptop unbrauchbar macht, was schade ist, da es ansonsten besser war als der Nvidia-Treiber. Ich habe ein Upgrade auf 14.04 und den Nvidia 340-Treiber durchgeführt, und jetzt funktioniert das Dimmen des Bildschirms.
Cerin

Antworten:


43

Ich konnte meine Helligkeitstasten auf meinem Lenovo W530 unter Ubuntu 12.04 zum Laufen bringen.

In diesen Tagen konfiguriert sich X automatisch selbst, sodass das Erstellen einer xorg.conf-Datei Ihr System möglicherweise unflexibel macht. Stattdessen können Sie einer Datei in /usr/share/X11/xorg.conf.d/ einen Abschnitt hinzufügen, und X nimmt diesen Abschnitt in die Konfiguration auf, die automatisch generiert wird.

Erstellen Sie im Verzeichnis xorg.conf.d eine Datei, damit die Tasten für die Bildschirmhelligkeit mit Ihrer Nvidia-Grafikkarte funktionieren. Beispiel:

sudo gedit /usr/share/X11/xorg.conf.d/10-nvidia-brightness.conf

Fügen Sie Folgendes in die Datei ein:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Quadro K1000M"
    Option         "RegistryDwords" "EnableBrightnessControl=1"
EndSection

Melden Sie sich ab und wieder an oder starten Sie neu und Ihre Helligkeitstasten sollten jetzt funktionieren!

(Ich habe das hier gebloggt )


Vielen Dank, es funktioniert für mich unter Ubuntu 14.04 auf Lenovo W530 mit offiziellem NVIDIA-Treiber (heruntergeladen von der NVIDIA-Website).
Saeed Zarinfam

Ich habe einen W530-Rechner mit Linux Mint 17.3, diese Lösung gilt direkt (für mich funktioniert nur das Abmelden und Anmelden, kein Neustart erforderlich).
user22363

Perfekt
funktioniert

1
Hat mit GeForce 9400M auf einem MacBook 5.1 nicht funktioniert. Startet nach dem Grub einen schwarzen Bildschirm. Musste entfernen, um ein Life-Image von einem USB-Laufwerk zu verwenden. Ich bin auf einer neuen Installation von Ubuntu Gnome 16.04.
Streitkolben

3
Wie finde ich BoardName heraus? Klingt vielleicht dumm, aber das könnte der Grund sein, warum ich es nicht zum Laufen bringe.
Davidbaumann

6

Ich hatte ein ähnliches Problem mit meinem Laptop. Es gibt eine Option, die Sie zu Ihrem hinzufügen müssen /etc/X11/xorg.conf

  1. Führen Sie den Befehl aus:

    sudo nano /etc/X11/xorg.conf
    
  2. Suchen Sie den Zeilenabschnitt "Gerät" und fügen Sie Folgendes hinzu

    Option "RegistryDwords" "EnableBrightnessControl=1"    
    

Dies funktioniert auch mit Ubuntu 12.04
shaneonabike 25.09.13

Xubuntu 12.04 funktioniert auch
Stasik

Bei mir funktioniert das im 12.04 nicht.
Cerin

Dies funktioniert nicht für mich in 18.04
Hany Alsamman

1
18.04 hat diese Datei nicht, aber das Erstellen einer neuen .conf-Datei wie Chris Pearces Antwort funktioniert ebenfalls.
Rogerdpack

4

Sie müssen die Helligkeitsregelung aktivieren. Öffnen Sie das Terminal und sudo gedit /etc/x11/xorg.conf geben Sie Option "RegistryDwords" "EnableBrightnessControl=1"Folgendes ein : Fügen Sie es in den Geräteabschnitt ein und fügen Sie es in eine neue Zeile ein. Starten Sie dann Ihren Computer neu und alles sollte in Ordnung sein.


Tun Sie dies nicht auf Ubuntu 18. Der Pfad x11 sollte X11 sein und dies sollte sich in Section befinden, aber auch das funktioniert nicht.
Shital Shah

3

Vielen Dank, dass Sie das großartige Skript qgj zur Verfügung gestellt haben. Es ist traurig, dass dieser Fehler weiterhin besteht und die Umgehung erforderlich ist. Ich hatte das gleiche Problem wie James, das einen Fehler bekam, weil die Optionen für die nvidia-Einstellungen für meinen bestimmten Anzeigetyp nicht mehr gültig waren. Glücklicherweise steht eine bessere Einstellung für die Helligkeit der Hintergrundbeleuchtung zur Verfügung. Ich habe das Bash-Skript geändert, um diese Einstellung zu verwenden.

#!/bin/bash

# This script was originally created by 'qgj' from askubuntu.  It has been modified
# to work using the BacklightBrighness setting available for some displays on the currrent nvidia driver
# It has also been modified to remove display specific configuration, instead applying the setting to all 
# active displays which support the BacklightBrightness setting.
# Tested only with nvidia-settings-319.12 and nvidia-drivers-331.20 on Linux Mint 17 Mate
#
# Requirements:
# - NVIDIA Drivers (e.g. nvidia-current in Ubuntu)
# - NVIDIA Settings (nvidia-settings in Ubuntu)
#
# This script can be used to change the brightness on systems with an NVIDIA graphics card
# that lack the support for changing the brightness (probably needing acpi backlight).
# It uses "nvidia-settings -a" to assign new gamma or brightness values to the display.
# 
# If this script fails, your display likely does not support the 'BacklightBrightness' option.
# In that event, execute 'nvidia-settings -n -q all' to see which options are available for the displays
#
# "nvidia-brightness.sh" may be run from the command line or can be assigned to the brightness keys on your Keyboard
# Type "nvidia-brightness.sh --help" for valid options.

if [ -z "${BASH}" ] ; then
    echo "please run this script with the BASH shell" 
    exit 1
fi

usage ()
{
cat << ENDMSG
Usage: 
   nvidia-brightness.sh [ options ]

Options:
   [ -bu ] or [ --brightness-up ]    increase brightness by 10
   [ -bu <no> ] or                   
   [ --brightness-up <no> ]          increase brightness by specified <no>

   [ -bd ] or [ --brightness-down ]  decrease brightness by 10
   [ -bd <no> ] or                   
   [ --brightness-down <no> ]        decrease brightness by specified <no>

   [ -i ]  or [ --initialize ]       Must be run once to create the settings file
                                     (~/.nvidia-brightness.cfg).
                                     Brightness settings from ~/.nvidia-settings-rc
                                     will be used if file exists, otherwise 
                                     brightness will be set to 100.
   [ -l ]  or [ --load-config ]      Load current settings from ~/.nvidia-brightness.cfg
                                     (e.g. as X11 autostart script)

Examples:
   nvidia-brightness -bd       this will decrease gamma by 10
   nvidia-brightness -bu 15    this will increase brightness by 15
ENDMSG
}

case $1 in 
    -h|--help)
        usage
        exit 0
esac

if [ "$1" != "-i" -a "$1" != "--initialize" ] ; then
    if [[ ! -f ~/.nvidia-brightness.cfg ]]; then 
        echo 'You must run this script with the --initialize option once to create the settings file.'
        echo 'Type "nvidia-brightness.sh --help" for more information.';
        exit 1
    fi
fi

#### INITIALIZE ####
initialize_cfg ()
{
    BRIGHTNESS_TEMP=100
    echo "BRIGHTNESS=$BRIGHTNESS_TEMP" > ~/.nvidia-brightness.cfg

    source ~/.nvidia-brightness.cfg
    echo "BRIGHTNESS: $BRIGHTNESS"

    # Valid BacklightBrightness values are between 0 and 100
    # Example:  nvidia-settings -n -a BacklightBrightness=80
    nvidia-settings -n -a BacklightBrightness=$BRIGHTNESS 1>/dev/null
    exit $?
}

#### LOAD CONFIGURATION ####
load_cfg ()
{
    source ~/.nvidia-brightness.cfg
    echo "BRIGHTNESS: $BRIGHTNESS"

    nvidia-settings -n -a BacklightBrightness=$BRIGHTNESS 1>/dev/null
}

#### BRIGHTNESS CHANGE ####
brightness_up ()
{
    source ~/.nvidia-brightness.cfg

    [[ -z $1 ]] && BRIGHTNESS_INC=10 || BRIGHTNESS_INC=$1
    BRIGHTNESSNEW=$(( $BRIGHTNESS + $BRIGHTNESS_INC ))
    [[ $BRIGHTNESSNEW -gt 100 ]] && BRIGHTNESSNEW=100

    sed -i  s/.*BRIGHTNESS=.*/BRIGHTNESS=$BRIGHTNESSNEW/g ~/.nvidia-brightness.cfg

    source ~/.nvidia-brightness.cfg
    echo "BRIGHTNESS: $BRIGHTNESS"

    nvidia-settings -n -a BacklightBrightness=$BRIGHTNESS 1>/dev/null
}

brightness_down ()
{
    source ~/.nvidia-brightness.cfg

    [[ -z $1 ]] && BRIGHTNESS_INC=10 || BRIGHTNESS_INC=$1
    BRIGHTNESSNEW=$(( $BRIGHTNESS - $BRIGHTNESS_INC ))
    [[ $BRIGHTNESSNEW -lt 0 ]] && BRIGHTNESSNEW=0

    sed -i  s/.*BRIGHTNESS=.*/BRIGHTNESS=$BRIGHTNESSNEW/g ~/.nvidia-brightness.cfg

    source ~/.nvidia-brightness.cfg
    echo "BRIGHTNESS: $BRIGHTNESS"

    nvidia-settings -n -a BacklightBrightness=$BRIGHTNESS 1>/dev/null
}

if [[ "$3" != "" ]]; then
    usage
    exit 1
fi

error_mixed_brightness ()
{
    echo "Error: [ --brightness-up ] and [ --brightness-down ] can't be used together."
}

if [[ "$2" != "" ]]; then
    [[ ! "$2" == ?(-)+([0-9]) ]] && usage && exit 1
fi

case $1 in
    -bu|--brightness-up) 
        [ "$2" == "-bd" ] && error_mixed_brightness && exit 1
        [ "$2" == "--brightness-down" ] && error_mixed_brightness && exit 1
        brightness_up $2
        ;;
    -bd|--brightness-down) 
        [ "$2" == "-bu" ] && error_mixed_brightness && exit 1
        [ "$2" == "--brightness-up" ] && error_mixed_brightness && exit 1
        brightness_down $2
        ;;
    -h|--help) 
        usage
        exit 0
        ;;
    -i|--initialize)
        if [ "$2" != "" ]; then usage; exit 1; fi   
        initialize_cfg
        exit $?
        ;;
    -l|--load-config)
        if [ "$2" != "" ]; then usage; exit 1; fi   
        load_cfg
        exit 0
        ;;
    *) 
        usage
        exit 1
esac

Ihr Kilometerstand kann mit diesem Skript variieren, da einige Anzeigen / Adapter unterschiedliche Optionen unterstützen. Wenn Sie Probleme damit haben, lesen Sie bitte die Hilfe und Kommentare im Skript.

Hoffe es hilft jemandem!


1

Es gibt einige Computer, wie z. B. mein Lenovo W520, die nicht mit der Option "RegistryDwords" "EnableBrightnessControl=1"Leitung kompatibel sind . Wenn Sie einer dieser Unglücklichen sind, können Sie den nvidiablTreiber ausprobieren (Link hier ).

Der nvidiablTreiber bietet eine geeignete Möglichkeit zum Ändern der Bildschirmhelligkeit. Auf einigen Laptops verursacht der Option "RegistryDwords" "EnableBrightnessControl=1"Hack, dass der Hintergrundbeleuchtungs-Controller oder Ihre GPU ein hohes Rauschen ausgibt.

Laden Sie einfach die neueste Deb-Datei von hier herunter und installieren Sie sie: https://github.com/downloads/guillaumezin/nvidiabl/nvidiabl-dkms_0.72_all.deb

und Renn:

echo "nvidiabl" | sudo tee -a /etc/modules

um sicherzustellen, dass das Modul beim Booten des Computers geladen wird.


1

Ich persönlich benutze Vaio VPCCW21FX (Nvidia Graphic) und Ubuntu Studio 11.10. Ich habe viele Lösungen ausprobiert und nichts konnte mein Problem mit der LCD-Helligkeit lösen! Zuletzt wurden diese beiden Perl-Dateien geschrieben, um die Helligkeits- / Kontrast- und Gamma-Funktionen in der Nvidia-Treiberkonfigurationsdatei manuell einzustellen.

Dies ist nur dann hilfreich, wenn Sie die Helligkeit in den Nvidia X Server-Einstellungen ändern können

Schritt 1: Erstellen Sie diese Datei und nennen Sie sie "Brightness-Up.pl" (Sie können ein beliebiges Textbearbeitungswerkzeug wie gedit, nano, vi usw. verwenden. Kopieren und Einfügen)

    ### Code by forgottenrip@yahoo.com ###
    my $find1 = "0/RedBrightness=";my $find2 = "0/RedGamma=";
open FILE, "<Nvidia-Settings.cfg";
my @lines = <FILE>;
for (@lines) {
    if ($_ =~ /$find1/) { chomp $_;$value= substr($_,16,5); }
    if ($_ =~ /$find2/) { chomp $_;$value2= substr($_,11,5);}     
}
my @Lines;
if ( $value > 0.0) { $value = $value - 0.30 };  
if ( $value2 > 1.1) { $value2 = $value2 - 0.08 };  
$last_value = $value + 0.30;
$Lines[0] ="0/RedBrightness=".$last_value;
$Lines[1] ="0/GreenBrightness=".$last_value;;
$Lines[2] ="0/BlueBrightness=".$last_value;;
$last_value = $value + 0.30;
$Lines[3] ="0/RedContrast=".$last_value;;
$Lines[4] ="0/GreenContrast=".$last_value;;
$Lines[5] ="0/BlueContrast=".$last_value;;
$last_value = $value2 + 0.08;
$Lines[6] ="0/RedGamma=".$last_value;;
$Lines[7] ="0/GreenGamma=".$last_value;;
$Lines[8] ="0/BlueGamma=".$last_value;;

$filename = "Nvidia-Settings.cfg";
open fh2,'>',$filename or die ("can't open '$filename': $! \n");
foreach ( @Lines )
{ chomp;print "$_\n";print fh2 "$_\n"; };
close fh2; 
`nvidia-settings -l --config=Nvidia-Settings.cfg`;

Schritt 2: Erstellen Sie eine weitere Datei, nennen Sie sie "Brightness-Down.pl" und geben Sie den folgenden Code ein:

    ### Code by forgottenrip@yahoo.com ###
    my $find1 = "0/RedBrightness=";my $find2 = "0/RedGamma=";
open FILE, "<Nvidia-Settings.cfg";
my @lines = <FILE>;
for (@lines) {
    if ($_ =~ /$find1/) {chomp $_;$value= substr($_,16,5);}
    if ($_ =~ /$find2/) {chomp $_;$value2= substr($_,11,5);}     
}
my @Lines;
if ( $value < -0.80) { $value = $value + 0.30 };  
if ( $value2 < 0.8) { $value2 = $value2 + 0.08 };  
$last_value = $value - 0.30;
$Lines[0] ="0/RedBrightness=".$last_value;
$Lines[1] ="0/GreenBrightness=".$last_value;;
$Lines[2] ="0/BlueBrightness=".$last_value;;
$last_value = $value - 0.30;
$Lines[3] ="0/RedContrast=".$last_value;;
$Lines[4] ="0/GreenContrast=".$last_value;;
$Lines[5] ="0/BlueContrast=".$last_value;;
$last_value = $value2 - 0.08;
$Lines[6] ="0/RedGamma=".$last_value;;
$Lines[7] ="0/GreenGamma=".$last_value;;
$Lines[8] ="0/BlueGamma=".$last_value;;

$filename = "Nvidia-Settings.cfg";
open fh2,'>',$filename or die ("can't open '$filename': $! \n");
foreach ( @Lines )
{ chomp;print "$_\n";print fh2 "$_\n"; };
close fh2; 
`nvidia-settings -l --config=Nvidia-Settings.cfg`;

Schritt 3: Sie müssen eine andere Datei erstellen, die Nvidia-Einstellungen enthält. Nennen Sie sie "Nvidia-Einstellungen.cfg". Es ist wichtig, dass Sie den gleichen Namen schreiben. füllen mit:

0/RedBrightness=0.1
0/GreenBrightness=0.1
0/BlueBrightness=0.1
0/RedContrast=0.1
0/GreenContrast=0.1
0/BlueContrast=0.1
0/RedGamma=1.14
0/GreenGamma=1.14
0/BlueGamma=1.14

Das ist es! Legen Sie diese Dateien nun in einem eindeutigen Ordner ab. Sie müssen Ihre Funktionstasten an diese beiden Perl-Dateien binden. Verwenden Sie dazu die Befehle Compiz> . Führen Sie den folgenden Befehl aus, um den compizconfig-settings-manager zu installieren

sudo apt-get install compizconfig-settings-manager

oder sogar Sie können separat mit diesen beiden Befehlen in der Shell (Terminal) ausführen:

user$ perl Brightness/Brightness-Up.pl
user$ perl Brightness/Brightness-Down.pl

Wo Helligkeit Ordner ist, habe ich diese Dateien darin abgelegt.


1

NVIDIA Brightness-Bash-Skript

Das obige Perl-Skript hat bei mir nicht funktioniert, daher habe ich mein eigenes Skript als Bash-Skript geschrieben (da ich Perl nicht kenne). Es wurde etwas lang, aber es erstellt die Einstellungsdatei selbst und kann mit Befehlszeilenoptionen verwendet werden, um Helligkeit oder Gamma oder beides gleichzeitig anzupassen. Ich benutze es mit den Schaltern --brightness-up und --brightness-down für die Helligkeitstasten auf meiner Tastatur. Einfach in XFCE4 und sicherlich auch in KDE / GNOME zuzuweisen.

nvidia-brightness.sh:

#!/bin/sh

# Tested only with nvidia-settings-319.12 and nvidia-drivers-319.17 on Funtoo Linux running XFCE 4.10
#
# Requirements:
# - NVIDIA Drivers (e.g. nvidia-current in Ubuntu)
# - NVIDIA Settings (nvidia-settings in Ubuntu)
# - xrandr (used by default to determine the correct display name)
#
# This script can be used to change the brightness on systems with an NVIDIA graphics card
# that lack the support for changing the brightness (probably needing acpi backlight).
# It uses "nvidia-settings -a" to assign new gamma or brightness values to the display.
#
# "nvidia-brightness.sh" may be run from the command line or can be assigned to the brightness keys on your Keyboard
# e.g. in XFCE4.
#
# Type "nvidia-brightness.sh --help" for valid options.

usage ()
{
cat << ENDMSG
Usage: 
   nvidia-brightness.sh [ options ]
Options:
   [ -gu ] or [ --gamma-up ]         increase gamma by 0.1
   [ -gd ] or [ --gamma-down ]       decrease gamma by 0.1
   [ -bu ] or [ --brightness-up ]    increase brightness by 0.1
   [ -bd ] or [ --brightness-down ]  decrease brightness by 0.1
   [ -i ]  or [ --initialize ]       Must be run once to create the settings file
                                     (~/.nvidia-brightness.cfg).
                                     Brightness settings from ~/.nvidia-settings-rc
                                     will be used if file exists, otherwise 
                                     gamma will be set to 1.0 and brightness to 0.0
                                     (NVIDIA Standard).
   [ -l ]  or [ --load-config ]      Load current settings from ~/.nvidia-brightness.cfg
                                     (e.g. as X11 autostart script)

Examples:
   nvidia-brightness -gd       this will decrease gamma by 0.1
   nvidia-brightness -bu -gd   this will increase brightness by 0.1 and decrease gamma by 0.1
ENDMSG
}

case $1 in 
    -h|--help)
        usage
        exit 0
esac

if [ "$1" != "-i" -a "$1" != "--initialize" ]; then
    if [ ! -f ~/.nvidia-brightness.cfg ]; then 
        echo 'You must run this script with the --initialize option once to create the settings file.'
        echo 'Type "nvidia-brightness.sh --help" for more information.';
        exit 1
    fi
fi

#### INITIALIZE ####
initialize_cfg ()
{
CONNECTED="[`xrandr | grep " connected" | awk '{ print $1 }'`]"
#CONNECTED="`cat ~/.nvidia-settings-rc  | grep RedBrightness | grep -o "\[.*]"`"
#CONNECTED="[DVI-I-1]"
#CONNECTED="[dpy:2]"
#CONNECTED="0"

if [ -f ~/.nvidia-settings-rc ]; then 
    if [ "`grep RedGamma ~/.nvidia-settings-rc`" != "" ]; then
        if [ "`grep RedBrightness ~/.nvidia-settings-rc`" != "" ]; then
            GAMMA_TEMP=`grep RedGamma= ~/.nvidia-settings-rc | sed s/^.*=//`
            BRIGHTNESS_TEMP=`grep RedBrightness= ~/.nvidia-settings-rc | sed s/^.*=//`
            NVIDIA_SETTINGS_OK=1
        fi
    fi
fi


[ "$NVIDIA_SETTINGS_OK" != "1" ] && \
GAMMA_TEMP=1.000000 \
BRIGHTNESS_TEMP=0.000000

echo "\
CONNECTED_DISPLAY=$CONNECTED
GAMMA=$GAMMA_TEMP
BRIGHTNESS=$BRIGHTNESS_TEMP" > ~/.nvidia-brightness.cfg

source ~/.nvidia-brightness.cfg

GAMMACOMMA=`echo $GAMMA | sed s/"\."/"\,"/`
BRIGHTNESSCOMMA=`echo $BRIGHTNESS | sed s/"\."/"\,"/`

nvidia-settings -n -a $CONNECTED_DISPLAY/Gamma=$GAMMACOMMA -a $CONNECTED_DISPLAY/Brightness=$BRIGHTNESSCOMMA 1>/dev/null
}

#### LOAD CONFIGURATION ####
load_cfg ()
{
source ~/.nvidia-brightness.cfg

GAMMACOMMA=`echo $GAMMA | sed s/"\."/"\,"/`
BRIGHTNESSCOMMA=`echo $BRIGHTNESS | sed s/"\."/"\,"/`

nvidia-settings -n -a $CONNECTED_DISPLAY/Gamma=$GAMMACOMMA -a $CONNECTED_DISPLAY/Brightness=$BRIGHTNESSCOMMA 1>/dev/null
}

#### GAMMA CHANGE ####
gamma_up ()
{
source ~/.nvidia-brightness.cfg

GAMMANEW=`echo $GAMMA | awk '{printf "%f", $GAMMA + 0.100000}'`

GAMMACOMMA=`echo $GAMMANEW | sed s/"\."/"\,"/`

nvidia-settings -n -a $CONNECTED_DISPLAY/Gamma=$GAMMACOMMA  1>/dev/null 

sed -i  s/.*GAMMA=.*/GAMMA=$GAMMANEW/g ~/.nvidia-brightness.cfg
}

gamma_down ()
{
source ~/.nvidia-brightness.cfg

GAMMANEW=`echo $GAMMA | awk '{printf "%f", $GAMMA - 0.100000}'`

GAMMACOMMA=`echo $GAMMANEW | sed s/"\."/"\,"/`

nvidia-settings -n -a $CONNECTED_DISPLAY/Gamma=$GAMMACOMMA  1>/dev/null

sed -i  s/.*GAMMA=.*/GAMMA=$GAMMANEW/g ~/.nvidia-brightness.cfg
}

#### BRIGHTNESS CHANGE ####
brightness_up ()
{
source ~/.nvidia-brightness.cfg

BRIGHTNESSNEW=`echo $BRIGHTNESS | awk '{printf "%f", $BRIGHTNESS + 0.100000}'`

BRIGHTNESSCOMMA=`echo $BRIGHTNESSNEW | sed s/"\."/"\,"/`

nvidia-settings -n -a $CONNECTED_DISPLAY/Brightness=$BRIGHTNESSCOMMA 1>/dev/null

sed -i  s/.*BRIGHTNESS=.*/BRIGHTNESS=$BRIGHTNESSNEW/g ~/.nvidia-brightness.cfg
}

brightness_down ()
{
source ~/.nvidia-brightness.cfg

BRIGHTNESSNEW=`echo $BRIGHTNESS | awk '{printf "%f", $BRIGHTNESS - 0.100000}'`

BRIGHTNESSCOMMA=`echo $BRIGHTNESSNEW | sed s/"\."/"\,"/`

nvidia-settings -n -a $CONNECTED_DISPLAY/Brightness=$BRIGHTNESSCOMMA 1>/dev/null

sed -i  s/.*BRIGHTNESS=.*/BRIGHTNESS=$BRIGHTNESSNEW/g ~/.nvidia-brightness.cfg
}

if [ "$3" != "" ]; then
    usage
    exit 1
fi

error_mixed_gamma ()
{
    echo "Error: [ --gamma-up ] and [ --gamma-down ] can't be used together."
}

error_mixed_brightness ()
{
    echo "Error: [ --brightness-up ] and [ --brightness-down ] can't be used together."
}


if [ "$2" != "" ]; then
    [ "$2" != "-bu" -a "$2" != "--brightness-up" -a "$2" != "-bd" -a "$2" != "--brightness-down" \
    -a "$2" != "-gu" -a "$2" != "--gamma-up" -a "$2" != "-gd" -a "$2" != "--gamma-down" ] && usage && exit 1
fi

case $1 in
    -gu|--gamma-up) 
        [ "$2" == "-gd" ] && error_mixed_gamma && exit 1
        [ "$2" == "--gamma-down" ] && error_mixed_gamma && exit 1
        gamma_up
        ;;
    -gd|--gamma-down) 
        [ "$2" == "-gu" ] && error_mixed_gamma && exit 1
        [ "$2" == "--gamma-up" ] && error_mixed_gamma && exit 1
        gamma_down
        ;;
    -bu|--brightness-up) 
        [ "$2" == "-bd" ] && error_mixed_brightness && exit 1
        [ "$2" == "--brightness-down" ] && error_mixed_brightness && exit 1
        brightness_up
        ;;
    -bd|--brightness-down) 
        [ "$2" == "-bu" ] && error_mixed_brightness && exit 1
        [ "$2" == "--brightness-up" ] && error_mixed_brightness && exit 1
        brightness_down
        ;;
    -h|--help) 
        usage
        exit 0
        ;;
    -i|--initialize)
        if [ "$2" != "" ]; then usage; exit 1; fi   
        initialize_cfg
        exit 0
        ;;
    -l|--load-config)
        if [ "$2" != "" ]; then usage; exit 1; fi   
        load_cfg
        exit 0
        ;;
    *) 
        usage
        exit 1
esac

case $2 in
    -gu|--gamma-up) 
        gamma_up
        ;;
    -gd|--gamma-down) 
        gamma_down
        ;;
    -bu|--brightness-up) 
        brightness_up
        ;;
    -bd|--brightness-down) 
        brightness_down
        ;;
    -h|--help) 
        usage
        exit 0
        ;;
    "")
        ;;
    *) 
        usage
        exit 1
esac

Verwendung:

Speichern Sie die Datei irgendwo in Ihrem PATH, z

/usr/local/bin/nvidia-brightness.sh

Vergiss das nicht

chmod +x /usr/local/bin/nvidia-brightness.sh

Bevor Sie es verwenden können, müssen Sie eingeben

nvidia-brightness.sh -i

Dadurch wird die Einstellungsdatei erstellt und Sie können die Helligkeit jederzeit zurücksetzen.

Art

nvidia-settings.sh --help

Für weitere Optionen:

Usage: 
   nvidia-brightness.sh [ options ]
Options:
   [ -gu ] or [ --gamma-up ]         increase gamma by 0.1
   [ -gd ] or [ --gamma-down ]       decrease gamma by 0.1
   [ -bu ] or [ --brightness-up ]    increase brightness by 0.1
   [ -bd ] or [ --brightness-down ]  decrease brightness by 0.1
   [ -i ]  or [ --initialize ]       Must be run once to create the settings file
                                     (~/.nvidia-brightness.cfg).
                                     Brightness settings from ~/.nvidia-settings-rc
                                     will be used if file exists, otherwise 
                                     gamma will be set to 1.0 and brightness to 0.0
                                     (NVIDIA Standard).
   [ -l ]  or [ --load-config ]      Load current settings from ~/.nvidia-brightness.cfg
                                     (e.g. as X11 autostart script)

Examples:
   nvidia-brightness -gd       this will decrease gamma by 0.1
   nvidia-brightness -bu -gd   this will increase brightness by 0.1 and decrease gamma by 0.1

Dies sieht genau so aus, wie ich es suche, aber es wird eine Fehlermeldung angezeigt: FEHLER: Fehler beim Parsen der Zuweisung '/ Gamma =' (Es wurde kein Attributwert angegeben).
James

1

Die anderen Antworten sind gute Schritte, aber beachten Sie, dass einige Kombinationen von Ubuntu / Linux-Kernel und dem Nvidia-Treiber einfach nicht funktionieren. Ich habe jahrelang 12.04 verwendet und obwohl ich alle oben genannten Antworten ausprobiert habe, konnte ich keinen der Nvidia-Treiber dazu bringen, das Dimmen des Bildschirms auf meinem Macbook Pro 5.5 zu unterstützen.

Als ich schließlich ein Upgrade auf 14.04 durchführte, probierte ich den Nouveau-Treiber aus, der das Dimmen des Bildschirms unterstützte und im Allgemeinen schneller und zuverlässiger war als Nvidia. Leider wird das Anhalten / Fortsetzen nicht unterstützt, sodass es auf einem Laptop unbrauchbar wird. Ich bin zurück zu Nvidia gewechselt, aber mehrere Treiber haben X / lightdm zum Absturz gebracht und mich daran gehindert, mich einzuloggen. Endlich stellte ich fest, dass der Nvidia 340-Treiber mit meinem Macbook Pro 5.5 und Ubuntu 14.04 stabil ist und auch das Dimmen unterstützt.


1

Zu Ihrer Information, habe ich gerade auf einem Lenovo W520 durchgearbeitet und die einfache Zeile Option "RegistryDwords" "EnableBrightnessControl = 1" hinzugefügt.

xorg.conf war genug - keine Notwendigkeit für irgendetwas anderes, und alles funktioniert gut mit einer aktuellen NVidia-Version (speziell mit 346.35)



0

Ich hatte das gleiche Problem in Ubuntu 16.10 nach dem Upgrade von 16.04. In der Datei xorg.conf (/ usr / share / doc / xserver-xorg-video-intel /) habe ich den Treiber von "intel" in "nvidia" geändert.


2
Danke, dass du versucht hast zu helfen! Würde es Ihnen etwas ausmachen, den Prozess ein wenig zu beschreiben?
EarthMeLon

0

Die Rückkehr zum Linux-Kernel 4.4 hat das Problem auf meinem Macbook Pro Late 2013 15 "behoben.

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.