21

I have a Debian Linux desktop and a CRT display. I want to change the screen's brightness without using the monitor's brightness controls. How can I do this? Is this possible in the command line or is there an application to be installed?

Aaron Miller
  • 10,087

8 Answers8

18

Look under /sys/class/backlight for the appropriate files to frob.

echo -n 6 > /sys/class/backlight/acpi_video0/brightness
16

$ sudo apt-get install xbacklight

How to set brightness to 50%

$ xbacklight -set 50

How to increase brightness 10%

$ xbacklight -inc 10

How to decrease brightness 10%

$ xbacklight -dec 10

More info here

auraham
  • 343
8

You need to control the monitor over DDC. See http://ddccontrol.sourceforge.net/ for one program that lets you do this.

6

If you don't have hardware support for changing the brightness of your monitor you could use the command xrandr together with its option flags --output and --brightness, as can be seen in my answer to a similar question on askubuntu.com

3

You could give this solution a try:

echo -n 100 > /proc/acpi/video/VGA/LCD/brightness

Also, in the comments, there are some hints what to do alternatively if it doesn't work (f.e. using GLX0 instead of VGA.

EDIT: As this doesn't seem to help, another user in the comments suggests to install xbacklight and calling xbacklight -set 100.

EDIT2: And another one says if you don't have a video folder, try sudo modprobe video.

schnaader
  • 1,890
3

After searching around, I think I found a pretty good way to get this done on most laptops. The first command gets the name of your screen, something like LVDS1. If this does not work, try getting the name of your screen with xrandr --current. There are probably more elegant ways to do this, the sed command removes everything after the first space, the head and tail commands simply remove everything except the second line of the output. The second line uses the screen name to change the brightness to 1.0. This can be set to almost anything, including 0.0 for a black screen or 50.0 for a completely white screen, but I think 1.0 is the desired value here.

screenName=$(xrandr --current | sed s/\ .*// | head -n2 | tail -n1);
xrandr --output $screenName --brightness 1.0

The command below sets the brightness to the maximum allowed brightness, as I noticed that just setting it to '100' does not simply work, at least not on all systems.

sudo sh -c 'echo -n $(cat /sys/class/backlight/acpi_video0/max_brightness) > /sys/class/backlight/acpi_video0/brightness'

This worked on multiple laptops running Ubuntu 12.04.

0

Here is a small program I wrote to control the brightness on my laptop for Ubuntu 12.04.3 LTS. Look at explanations inside (file /usr/local/dreamcolor2/README in the tarball):

http://pageperso.lif.univ-mrs.fr/~edouard.thiel/tar/brightness-dreamcolor2.tgz

It uses ddccontrol on i2c buses and works great for my configuration:

- HP ELiteBook 8770w
- NVidia Quadro K3000M
- HP DreamColor 2 Monitor, full HD
- Ubuntu 12.04.3 LTS x86_64, kernel 3.8.0-34-generic
- Nvidia Driver Version: 319.32
- Unity desktop

I tried every other solutions in this page and this is the only one which actually worked for me. Another solution was to run the HP Mobile Display Assistant (downloaded on HP site) but it is only given as rpm, no deb package; it has to be tweaked a little bit to work and is rather slow, and does not work with fn keys.

My script allows to control the brightness by the command line and by the fn keys. Please tell me if it works for you out of the box or if you have to change the i2c device in the script.

0

CRT's (Cathode Ray Tube) don't have backlights. LCD's do have backlights. Adjusting the brightness on a CRT involves changing the signal going to it, unlike a LCD.

CRT's use the maximum amount of power on white screens, because the electron guns use more power to emit more electrons, while LCD's spend the most power on black screens, because all transistors are on flipping the polarity of liquid crystal blocking the light coming from the backlight.

Any utility that can trigger DPMS should work to put the monitor into sleep mode with many of the CRT's made in the mid to late 90's through to the end of production.