35

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

0

9 Answers 9

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.

6
  • it works (0-9 for me)
    – RiaD
    Aug 7, 2011 at 17:31
  • See my comment on Michał Šrajer's post below for a way to alias this for easy use.
    – floer32
    Nov 2, 2012 at 12:24
  • How to change it? is not by sudo nano /sys/class/backlight/acpi_video0/brightness ... Dec 27, 2017 at 14:05
  • 3
    for me it was via sudo vim /sys/class/backlight/intel_backlight/brightness
    – DaraJ
    Aug 21, 2018 at 22:11
  • Also, don't forget that instead of viming or nanoing to edit the file, you can simply echo 15 > /sys/class/backlight/intel_backlight/brightness May 17, 2020 at 3:49
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
5
  • 2
    +1, the only non requiring admin privileges
    – enzotib
    Aug 7, 2011 at 20:49
  • So I was able to do this in the terminal in Ubuntu 15.04 with both the MATE and Unity desktops. However, when I bind this to any key combination it does not work. Apr 18, 2015 at 1:03
  • This still works for XFCE on 15.04.
    – Jam
    Dec 11, 2016 at 16:47
  • This still works (for me, at least) for XFCE on 18.04. Yet it doesn't allow to set to a fixed value, only steps up or down. Jun 14, 2018 at 20:32
  • I run lxqt on lubuntu 20_04, what should I write for key? xdotool key XF86MonBrightnessDown does not work.
    – Timo
    May 24, 2021 at 18:23
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.

2
  • 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!!! Jun 3, 2017 at 3:31
  • Lubuntu 20_04 outputs No outputs have backlight property.
    – Timo
    May 24, 2021 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
7
  • have not /proc/acpi/video/ at all. find /proc/acpi -name 'brightness' prints nothing
    – RiaD
    Aug 7, 2011 at 17:03
  • I think the command is sudo sh -c rather than sudo su -c Aug 7, 2011 at 17:07
  • @sagarchalise: it is more or less the same, su launch a sh
    – enzotib
    Aug 7, 2011 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 2, 2012 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 2, 2012 at 12:22
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.

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" 
1
  • Getting Error org.freedesktop.DBus.Error.UnknownMethod: No such method “SetPercentage” :(
    – Rohlik
    Sep 29, 2022 at 16:52
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.

6
  • 1
    Do not work, here
    – enzotib
    Aug 7, 2011 at 20:47
  • @enzotib : It works fine with me using 11.04. And I think it is only for a laptop.
    – Binarylife
    Aug 7, 2011 at 20:55
  • Not working in DELL inspiron
    – totti
    Mar 27, 2013 at 6:47
  • 1
    Works on my Acer Aspire One
    – Karthik C
    Jul 7, 2013 at 13:11
  • This is the only one that works for me on a Gateway / Packard Bell.
    – GenericJam
    Feb 20, 2016 at 22:41
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

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

Not the answer you're looking for? Browse other questions tagged .