Độ sáng không hoạt động sau khi cài đặt trình điều khiển NVIDIA


26

Gần đây tôi đã cài đặt Ubuntu 11.10 trên Mac Book Pro 7.1. Tôi đã cài đặt trình điều khiển NVIDIA (285). Các phím độ sáng đang hoạt động (F1 và F2) và tôi nhận được hộp hiển thị độ sáng nhưng không có gì. Tôi có thể thay đổi độ sáng trong ứng dụng Cài đặt máy chủ NVIDIA X. Làm thế nào tôi có thể làm cho độ sáng hoạt động mà không cần gỡ cài đặt trình điều khiển? Cảm ơn trước.


Điều tương tự cũng xảy ra với tôi trên MacBook Pro 5,5.
Cerin

1
Chỉ cần theo dõi, tôi đã thử tất cả các giải pháp được ghi lại và không có gì hiệu quả, kể cả sử dụng trình điều khiển Nvida gần đây nhất. Tuy nhiên, khi tôi thanh trừng trình điều khiển Nvidia và sử dụng trình điều khiển Nouveau mã nguồn mở, màn hình mờ ngay lập tức bắt đầu hoạt động.
Cerin

@Cerin tại sao không viết nó lên như một câu trả lời bao gồm tất cả các bước để người dùng mới có thể theo dõi nó? Hãy cho tôi một nhận xét khi bạn đã làm như vậy và nếu đó là một câu trả lời hay, tôi sẽ nêu lên ý kiến ​​đó và nó cũng có thể sẽ giúp đỡ người khác.
Elder Geek

1
@ElderGeek, Thật không may, Nouveau không hỗ trợ tạm dừng / tiếp tục, khiến nó trở nên vô dụng đối với máy tính xách tay, điều này thật đáng xấu hổ vì nó tốt hơn trình điều khiển Nvidia. Tôi đã nâng cấp lên 14.04 và trình điều khiển Nvidia 340, và bây giờ màn hình mờ hoạt động.
Cerin

Câu trả lời:


43

Tôi đã có thể làm cho các phím độ sáng của mình hoạt động trên Lenovo W530 trên Ubuntu 12.04.

Ngày nay, X tự động cấu hình chính nó, vì vậy việc tạo tệp xorg.conf có thể khiến hệ thống của bạn không linh hoạt. Thay vào đó, bạn có thể thêm một phần vào một tệp trong /usr/share/X11/xorg.conf.d/ và X sẽ bao gồm phần đó trong cấu hình mà nó tự động tạo.

Vì vậy, để các phím độ sáng màn hình hoạt động với card đồ họa Nvidia của bạn, hãy tạo một tệp trong thư mục xorg.conf.d, ví dụ:

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

Dán đoạn sau vào tập tin:

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

Đăng xuất và đăng nhập lại, hoặc khởi động lại, và các phím sáng của bạn sẽ hoạt động!

(Tôi viết blog này ở đây )


Cảm ơn bạn, nó hoạt động với tôi trên Ubuntu 14.04 trên Lenovo W530 với trình điều khiển nvidia chính thức (được tải xuống từ trang nvidia).
Saeed Zarinfam

Tôi có máy W530 với linux mint 17.3, giải pháp này áp dụng trực tiếp (đối với tôi chỉ cần đăng xuất và đăng nhập hoạt động, không cần khởi động lại).
dùng22363

Hoạt động hoàn hảo, điều này nên được đánh dấu là câu trả lời đúng
OKAN

1
Không hoạt động với tôi trên macbook 5.1 với GeForce 9400M. Khởi động vào một màn hình đen sau khi grub. Phải xóa tệp bằng hình ảnh cuộc sống từ ổ đĩa USB. Tôi đang cài đặt Ubuntu Gnome 16.04 mới.
chùy

3
Làm thế nào để tìm ra BoardName? Nghe có vẻ ngu ngốc, nhưng đây có thể là lý do tôi không làm cho nó hoạt động.
davidbaumann

6

Tôi gặp vấn đề tương tự với máy tính xách tay của mình, có một tùy chọn bạn cần thêm vào /etc/X11/xorg.conf

  1. Chạy lệnh:

    sudo nano /etc/X11/xorg.conf
    
  2. Tìm dòng "Thiết bị" và thêm dòng sau

    Option "RegistryDwords" "EnableBrightnessControl=1"    
    

Điều này cũng hoạt động với Ubuntu 12.04
shaneonabike

Xubfox 12.04 cũng hoạt động tốt
Stasik

Điều này không làm việc cho tôi trong 12.04.
Cerin

Điều này không hiệu quả với tôi vào ngày 18.04
Hany Alsamman

1
18.04 không có tệp này nhưng việc tạo tệp .cs mới như câu trả lời của Chris Pearce cũng hoạt động.
rogerdpack

4

Bạn cần kích hoạt Kiểm soát độ sáng. Mở terminal và gõ sudo gedit /etc/x11/xorg.conf Và sau đó thêm Option "RegistryDwords" "EnableBrightnessControl=1"vào bên trong phần thiết bị , dán nó vào một dòng mới. Sau đó khởi động lại máy tính của bạn và mọi thứ sẽ ổn.


Đừng làm điều này trên Ubuntu 18. Đường dẫn x11 nên X11 và đường dẫn này sẽ nằm trong Phần nhưng ngay cả điều đó không hoạt động.
Shital Shah

3

Cảm ơn bạn đã cung cấp kịch bản tuyệt vời qgj. Thật đáng buồn khi lỗi này vẫn còn tồn tại và cần phải khắc phục. Tôi gặp vấn đề tương tự như James gặp lỗi do các tùy chọn không còn hợp lệ với cài đặt nvidia cho loại hiển thị cụ thể của tôi. Vì may mắn sẽ có nó, có một cài đặt tốt hơn có sẵn cho độ sáng của đèn nền. Tôi đã sửa đổi tập lệnh bash để sử dụng cài đặt này thay thế.

#!/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

Số dặm của bạn có thể thay đổi theo tập lệnh này vì một số màn hình / bộ điều hợp hỗ trợ các tùy chọn khác nhau. Nếu bạn gặp phải vấn đề với nó, vui lòng đọc phần trợ giúp và bình luận trong kịch bản.

Hy vọng nó sẽ giúp được ai đó!


1

Có một số máy tính, chẳng hạn như Lenovo W520 của tôi, không phù hợp với Option "RegistryDwords" "EnableBrightnessControl=1"dòng này. Nếu bạn là một trong những người không may mắn đó, bạn có thể thử nvidiabltrình điều khiển (liên kết tại đây ).

Trình nvidiablđiều khiển cung cấp một cách thích hợp để thay đổi độ sáng màn hình. Trên một số máy tính xách tay, việc Option "RegistryDwords" "EnableBrightnessControl=1"hack sẽ khiến bộ điều khiển đèn nền hoặc GPU của bạn phát ra tiếng ồn cao.

Chỉ cần tải xuống và cài đặt tệp Deb mới nhất từ ​​đây: https://github.com/doads/guillaumezin/nvidiabl/nvidiabl-dkms_0.72_all.deb

và chạy:

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

để đảm bảo rằng mô-đun sẽ được tải khi máy tính khởi động.


1

Cá nhân tôi đang sử dụng Vaio VPCCW21FX (Đồ họa Nvidia) và Ubuntu Studio 11.10 .. Tôi đã thử nhiều giải pháp và không có gì có thể giải quyết vấn đề của tôi với độ sáng LCD! Cuối cùng đã viết hai tệp perl này để đặt thủ công các chức năng độ sáng / Độ tương phản và Gamma bên trong tệp cấu hình trình điều khiển Nvidia.

Điều này sẽ hữu ích chỉ khi bạn có thể thay đổi độ sáng trong Cài đặt máy chủ Nvidia X

Bước 1: tạo tệp này và đặt tên là "Độ sáng-Up.pl" (bạn có thể sử dụng bất kỳ công cụ chỉnh sửa văn bản nào như: gedit, nano, vi, v.v .. sao chép và dán)

    ### 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`;

Bước 2: sau đó tạo một tệp khác, đặt tên là "Độ sáng-Down.pl" và điền mã này:

    ### 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`;

Bước 3: Bạn cần tạo một tệp khác chứa Cài đặt Nvidia .. đặt tên là "Nvidia-Settings.cfg", điều quan trọng là bạn phải viết tên chính xác. làm đầy với:

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

Đó là nó! bây giờ đặt các tệp này vào thư mục duy nhất .. bạn phải liên kết các Phím chức năng của mình với hai tệp perl này. Bạn có thể sử dụng các lệnh Compiz> để làm điều đó. Chạy bên dưới lệnh để cài đặt compizconfig-settings-manager

sudo apt-get install compizconfig-settings-manager

hoặc thậm chí bạn có thể chạy riêng biệt với hai lệnh này trong shell (terminal):

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

Trong đó Độ sáng là thư mục tôi đặt các tệp đó vào đó.


1

Kịch bản bash NVIDIA

Kịch bản perl ở trên không hoạt động với tôi vì vậy tôi đã viết kịch bản của riêng mình dưới dạng kịch bản bash (vì tôi không biết perl). Nó hơi dài một chút nhưng nó tự tạo tệp cài đặt và có thể được sử dụng với các tùy chọn dòng lệnh để điều chỉnh độ sáng hoặc gamma hoặc cả hai cùng một lúc. Tôi sử dụng nó với các công tắc --brightness-up và --brightness-down cho các phím độ sáng trên Bàn phím của tôi. Dễ dàng gán trong XFCE4 và chắc chắn cũng có trong KDE / Gnome.

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

Sử dụng:

Lưu tệp ở đâu đó trong PATH của bạn, vd

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

Đừng quên

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

Trước khi bạn có thể sử dụng nó, bạn phải gõ

nvidia-brightness.sh -i

Điều này sẽ tạo tập tin cài đặt và cũng có thể được sử dụng để đặt lại độ sáng bất cứ lúc nào.

Kiểu

nvidia-settings.sh --help

để có thêm lựa chọn:

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

Điều này trông chính xác những gì tôi đang tìm kiếm nhưng tôi gặp lỗi: LRI: Lỗi phân tích cú pháp phân công '/ Gamma =' (Không có giá trị thuộc tính được chỉ định).
James

1

Các câu trả lời khác là các bước tốt để thử, nhưng lưu ý rằng một số kết hợp Ubuntu / Linux Kernel và trình điều khiển Nvidia sẽ không hoạt động. Tôi đã sử dụng 12.04 trong nhiều năm và mặc dù tôi đã thử tất cả các câu trả lời ở trên, tôi không thể có bất kỳ trình điều khiển Nvidia nào để hỗ trợ làm mờ màn hình trên Macbook Pro 5,5.

Cuối cùng khi tôi nâng cấp lên 14.04, tôi đã thử trình điều khiển Nouveau, hỗ trợ làm mờ màn hình, và nói chung là nhanh hơn và đáng tin cậy hơn và Nvidia. Thật không may, nó không hỗ trợ đình chỉ / tiếp tục, làm cho nó vô dụng trên máy tính xách tay. Tôi đã quay trở lại Nvidia, nhưng một số trình điều khiển đã khiến X / lightdm gặp sự cố, khiến tôi không đăng nhập được. Cuối cùng tôi cũng thấy rằng trình điều khiển Nvidia 340 ổn định với Macbook Pro 5,5 và Ubuntu 14.04 của tôi và cũng hỗ trợ làm mờ.


1

FYI, vừa mới thực hiện điều này trên Lenovo W520 và bổ sung tùy chọn dòng đơn giản "RegistryDwords" "EnableBrightnessControl = 1"

với xorg.conf là đủ - không cần bất kỳ sự không có thật nào khác và tất cả đều hoạt động tốt với bản phát hành NVidia hiện tại (cụ thể, chạy 346,35)



0

Tôi gặp vấn đề tương tự trong Ubuntu 16.10, sau khi nâng cấp từ 16.04. Trong tệp xorg.conf (/ usr / share / doc / xserver-xorg-video-intel /), tôi đã thay đổi trình điều khiển từ "intel" thành "nvidia".


2
Cảm ơn bạn đã cố gắng để giúp đỡ! Bạn có phiền khi mô tả quá trình một chút?
earthmeLon

0

Quay trở lại linux kernel 4.4 đã khắc phục sự cố trên Macbook Pro của tôi vào cuối năm 2013 15 ".

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.