46

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
muru
  • 207,228

8 Answers8

67

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
Pablo Bianchi
  • 17,371
Nimmermehr
  • 1,704
23

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)

Nemo
  • 9,610
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!

5

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.

Sergey
  • 44,353
3

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
muru
  • 207,228
PET3R
  • 49
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.

0

for monitor brightness, in gnome try https://github.com/fastrizwaan/gnome-set-brightness

gsettings set org.gnome.desktop.a11y.magnifier mag-factor 1
gsettings set org.gnome.desktop.a11y.magnifier brightness-red -0.5
gsettings set org.gnome.desktop.a11y.magnifier brightness-green -0.5
gsettings set org.gnome.desktop.a11y.magnifier brightness-blue -0.5
gsettings set org.gnome.desktop.a11y.applications screen-magnifier-enabled true
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
kravemir
  • 339