35

I am controlling my PC with SSH and scripting. How can i change the brightness, color and sharpness from command line?

Try 1: failed

$ sudo redshift -t 5000:5000 -g .5
Cannot list GNOME panel applets.
Initialization of gnome-clock failed.
Trying next provider...
Latitude and longitude must be set.

Try 2: failed

$ cat brightness 
20
$ cat max_brightness 
20
$ echo 1 | sudo tee /sys/class/backlight/acpi_video0/brightness 
1
$ echo 20 | sudo tee /sys/class/backlight/acpi_video0/brightness 

Any alternative way to do?

Follow up: http://jonls.dk/redshift/

[command]     [1000K to 10000K]       [effects 0.1 to 10.0]
|       |     /      /                /
^       ^     ^      ^                ^
redshift  -t  1000:1000   -l 0:0  -g .1; Dark
redshift  -t  1000:1000   -l 0.0  -g  5; Bright
  • See askubuntu.com/questions/57236/… for changing the brightness – Lekensteyn Sep 20 '11 at 11:15
  • @Lekensteyn: please see the posted comment. Did not worked i am uing 11.04 and tried echo 0 to 20 remains same. – user25165 Sep 20 '11 at 11:25
  • Note that applying gamma correction (-g argument to redshift) is not the same effect as adjusting the brightness (-b) – Dzamo Norton Jul 4 '19 at 2:28
48

If the driver of your graphics card supports it, then you can use xrandr.

The following command lists the current configuration:

xrandr --current --verbose

If you want to change the configuration of an output, then you need the name of the output. This name is part of the output of xrandr --current, for example LVDS1.

The brightness can be changed like this:

xrandr --output <outputname> --brightness 0.8

Gamma (red:green:blue):

xrandr --output <outputname> --gamma 0.5:1.0:1.0
| improve this answer | |
  • 2
    this works, FYI: newer laptops use eDP – nwgat May 1 '14 at 1:07
  • I found I didn't need to use the verbose option. – David Oliver Dec 11 '14 at 16:07
  • 2
    It would be helpful to see an example of output for "xrandr --output <outputname> --brightness 0.8" – hydroxide Jan 16 '17 at 6:30
  • 1
    doesn't change brightness for me. – Philip Rego Feb 11 at 23:51
  • for me neither. – Reinier Post Feb 26 at 9:33
17

xrandr will not increase the screen brightness on the hardware level (the one that is changed by the laptop display brightness keys). As the xrandr manual says:

--brightness brightness

Multiply the gamma values on the crtc currently attached to the output to specified floating value. Useful for overly bright or overly dim outputs. However, this is a software only modification, if your hardware has support to actually change the brightness, you will probably prefer to use xbacklight.

Instead, use xbacklight to change the brightness:

xbacklight -get #get the current level
xbacklight -set *percent* #set brightness to a given percentage
xbacklight -inc *percent* #increase by a given percentage
xbacklight -dec *percent* #decrease by a given percentage

However, since this is same as using the laptop brightness keys, this cannot go beyond the limits of 0-100%. If you wish to brighten/darken your screen further than that limit, you can use xrandr to force software brightness levels:

xrandr --output LVDS1 --brightness 0.5

Note that xrandr accepts fractions (0.0-1.0) while xbacklight accepts percentages(0-100)

| improve this answer | |
  • 3
    In my case, the xrandr --output eDP1 --brightness 0.2 approach works fine while xbacklight -set 20 fails. – landroni Apr 27 '14 at 7:30
  • 1
    accepts fractions (0.0-1.0) is misleading. For my external TB3 DisplayPort to HDMI this worked fine: xrandr --output DP-1-1 --brightness 1.2 – WinEunuuchs2Unix Dec 9 '17 at 16:27
  • @WinEunuuchs2Unix Yes, setting it >1.0 crops the display gamut in exchange for overall brightness increase. In other words you lose details in bright areas. – Wil Mar 15 '19 at 13:51
  • Is this related to the temperature of the monitor? I mean, with xrandr darker should it be colder than using some other tool? I'm afraid that my monitor is too warm. – Sigur Oct 1 '19 at 14:15
  • @sigur temp colour is relative weighting of red / blue curves, --gamma can be used to tweak it a bit. I think you'd need to poke at the LUT to get finer tuning if the monitor has no settings you can use. – Barry Kelly Sep 3 at 13:37
6

For laptops, I just learned from man xrandr:

   --brightness brightness
          Multiply  the gamma values on the crtc currently attached to the
          output to specified floating value. Useful for overly bright  or
          overly  dim outputs.  However, this is a software only modifica‐
          tion, if your  hardware  has  support  to  actually  change  the
          brightness, you will probably prefer to use xbacklight.

So I tried

xbacklight -get
xbacklight -set 70

and it works!

| improve this answer | |
  • This post is from 2013. I can't make it work with my current laptop either.... – user334639 Feb 14 at 0:51
4

If you're using redshift, you need to give it your latitude and longitude so it knows when time of day changes. Something like

redshift -t 5000:5000 -l 55.7:12.6 -g .5 

Though it may be a bit unconventional use of redshift :)

Also, it works fine without sudo.

| improve this answer | |
  • +1 that really did a small trick. But really i am looking for same way more RAW brightness + color + gamma tuning. – user25165 Sep 20 '11 at 11:48
2

I use this script to set brightness on all of my displays at once:

#!/bin/bash
if [ -z $1 ]; then
    echo "Usage: brighntess BRIGHTNESS"
    echo "BRIGHTNESS is a float (0.0-1.0)"
else
    xrandr --listmonitors | grep "^ " | cut -f 6 -d' ' | \
    xargs --replace=MONITOR xrandr --output MONITOR --brightness $1
fi
| improve this answer | |
1

Change VGA-1 with your device

xrandr --listmonitors
Monitors: 1

0: +*VGA-1 1366/410x768/230+0+0 VGA-1

xrandr --output VGA-1  --brightness 1   (for 100% brightness)
xrandr --output VGA-1  --brightness 1.5 (for 150% brightness)
xrandr --output VGA-1  --brightness 2   (for 200% or double brightness)
xrandr --output VGA-1  --brightness 4 (for 400% brightness)

Careful with 0 (you'll need to restart Xorg):

xrandr --output VGA-1  --brightness 0 (for Blank Screen)

xrandr --output VGA-1  --brightness 0.8 (for 80% brightness)

This works on normal lcd/led monitors as they do not support hardware brightness like laptops do.

| improve this answer | |
  • Does nothing. Doesnt change brightness – Philip Rego Feb 12 at 0:07
0

There's also DDC/CI, and linux client: ddccontrol (and, gddccontrol for GUI).

Tt's in official ubuntu repository:

sudo apt install ddccontrol ddccontrol-db gddccontrol
| improve this answer | |
  • No monitor supporting DDC/CI available. – Philip Rego Feb 12 at 0:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy