35

Now I can change it by Fn+ arrow right but now I need to do it via my shell script

RiaD
  • 1,395

9 Answers9

30

adding to what Michał Šrajer says in some cases the brightness may be controlled from /sys/class/backlight/acpi_video0/brightness as is the case with my dell vostro 3400 and my the brightness range is 0-15. You may have to look for other folder in /sys/class if the same path as mine doesnot exit.

sagarchalise
  • 23,988
21

In your script you can send the equivalent keystrokes that correspond to Fn+Right Arrow and Fn+Left Arrow i.e. Brightness Up and Down respectively

Install xdotool from the Software Center

Then in your script to increase brightness:

xdotool key XF86MonBrightnessUp

To decrease Brightness

xdotool key XF86MonBrightnessDown
fossfreedom
  • 172,746
14

You could install xbacklight package $sudo apt-get install xbacklight and then if you want to increase the brightness level, type $xbacklight -inc <level in a range of 10 - 100> and vice versa: $xbacklight -dec <level in a range of 10 - 100>.

Read xbacklight --help to see more options.

sanderd17
  • 191
  • my notebook keyboard is broken, the external usb one has no key for that. the -dec option works, the -inc dont! but the -set does! so I will just create a simple script, thx!!! – Aquarius Power Jun 03 '17 at 03:31
  • Lubuntu 20_04 outputs No outputs have backlight property. – Timo May 24 '21 at 18:28
9

call:

sudo su -c 'echo 30 > /proc/acpi/video/VID/LCD0/brightness'

The path may be different in your system. To list all available call:

find /proc/acpi/video -name 'brightness'

To see possible values for each, just cat the file:

cat /proc/acpi/video/VID/LCD0/brightnes
  • have not /proc/acpi/video/ at all. find /proc/acpi -name 'brightness' prints nothing – RiaD Aug 07 '11 at 17:03
  • I think the command is sudo sh -c rather than sudo su -c – sagarchalise Aug 07 '11 at 17:07
  • @sagarchalise: it is more or less the same, su launch a sh – enzotib Aug 07 '11 at 20:50
  • 2
    sudo su -c 'echo 4 > /sys/class/backlight/acpi_video0/brightness' worked for me. Using a Samsung laptop and oddly enough the range is 0-7. – floer32 Nov 02 '12 at 12:09
  • I tried to write a function to call this very easily - wound up with function bri { sudo su -c 'echo $1 > /sys/class/backlight/acpi_video0/brightness';} - but it didn't work for me. So as a substitute, I created aliases bri0 through bri7 which worked -- see here. – floer32 Nov 02 '12 at 12:22
  • function brightness { sudo su -c "echo $1 > /sys/class/backlight/acpi_video0/brightness" } did the trick for me. – Max Wallace Mar 01 '15 at 19:14
  • Mine was under /sys/devices/pci0000.../drm/card0/card0-eDP-1/intel_backlight/brightness. cd /sys; find -iname 'bright*' is how I found it. – dhill May 25 '18 at 12:25
3

Install xbacklight it is very light and useful.

sudo apt-get install xbacklight

Then use xbacklight -set 60 where number can varry from 0 to 100.

aibotnet
  • 131
3

Ubuntu's default desktop environment, Unity, has set of dbus methods that allow setting/getting brightness without need for sudo access.

Note well, that for this to work, one will need to have DISPLAY=:0 variable declared in the script.

Personally, I use qdbus application , with all the appropriate interface and method names combined into a nice function and store it in .bashrc

unityBrightness()
{ # change brightness in Unity/ Gnome
qdbus org.gnome.SettingsDaemon.Power\
      /org/gnome/SettingsDaemon/Power\
       org.gnome.SettingsDaemon.Power.Screen.SetPercentage "$1"

}

Usage of this function would be like :

unityBrightness 50 

, where 50 is the percentage.

Equivalent dbus-send command would be

dbus-send --session --print-reply\
    --dest=org.gnome.SettingsDaemon.Power\
    /org/gnome/SettingsDaemon/Power \
    org.gnome.SettingsDaemon.Power.Screen.SetPercentage uint32:"$1" 
Sergiy Kolodyazhnyy
  • 105,154
  • 20
  • 279
  • 497
  • Getting Error org.freedesktop.DBus.Error.UnknownMethod: No such method “SetPercentage” :( – Rohlik Sep 29 '22 at 16:52
1

Here is a little utility to set brightness from terminal: linux-brightness-binary

Then you can set brightness like this: sudo bright 5 or sudo bright 0

0-15 works for me on Asus UX50V Laptop running Debian 7

Stichoza
  • 111
1

On Ubuntu trusty 14.04, this command works fine

sudo su -c 'echo 12 > /sys/class/backlight/acpi_video0/brightness'

You can change the value 12 to any value from 0 to 20

Thanks @Michał Šrajer and @sagarchalise

1

If you are using laptop.

You can use this command: sudo setpci -s 00:02.0 F4.B=xx

Which xx is the brightness in hex ranging from 0 (brightest) to FF (no brightness at all). I Use E0 when working on battery.

Binarylife
  • 16,442