After I upgraded my notebook to ubuntu 12.04, I found that I can not save my power settings. Every time I set the screen brightness to 70%, it restored to 100% next time. I can't find a save button on the new power setting panel(I am sorry for I can not post a screenshot right now). Can anyone tell me how to save this setting? Thanks.
6 Answers
Check brightness levels by running this command as root:
cat /sys/class/backlight/acpi_video0/max_brightness
(my laptop max brightness is 20)
Set you screen brightness to minimum and check current level by evoking next command
cat /sys/class/backlight/acpi_video0/brightness
(my laptop min brightness level is 0;)
Edit
/etc/rc.local
and add beforeexit 0
the following line:echo YOUR_VALUE > /sys/class/backlight/acpi_video0/brightness
From now on this brightness level will be set every time you start your computer.
if you just wana change and save the screen brightness only, you can use xbacklight
sudo apt-get install xbacklight
after installing, type command to set the screen brightness easily
xbacklight -set `num`
the num
is percentage of your screen brightness.
An easier way to set brightness and contrast
sudo setpci -s `00:02.0` F4.B=`XX`
to set brightness, 00:02.0
is your VGA device code.XX
is hexadecimal form 00 to FF
use lspci
command to find out your VGA device code.
xgamma -gamma `X`
to set contrast,X
from 0 to 1

- 11,720

- 1,312
-
Oh, currently I just want to save my screen brightness settings. Thanks, Teifi. :) – Boris Jun 02 '12 at 16:25
-
2I can`t believe there is no GUI for this. Ubuntu should be linux for human beings. Thanks for the tip! – umpirsky Nov 04 '12 at 19:15
-
Beware about using setpci for this. For details see http://askubuntu.com/questions/66751/how-do-i-set-default-display-brightness – Stéphane Gourichon Nov 07 '13 at 06:00
Personally I prefer starting with the brightness I had the last time I used my computer. Here is how I got that functionality:
First create a file to store your screen brightness between sessions:
cd /etc/init.d
sudo touch prev_brightness
sudo chmod o+w prev_brightness
Then create a script that stores your current screen brightness when shutting down into the file you created in the previous step:
sudo touch save_screen_brightness
sudo chmod +x save_screen_brightness
sudo gedit save_screen_brightness
Put this into the file you just opened:
#!/bin/sh
cat /sys/class/backlight/acpi_video0/brightness > /etc/init.d/prev_brightness
Now we need to make the script run every time we shut down or reboot the computer:
sudo ln -s /etc/init.d/save_screen_brightness /etc/rc0.d/K99save_screen_brightness
sudo ln -s /etc/init.d/save_screen_brightness /etc/rc6.d/K99save_screen_brightness
Finally we need to load the value we stored when starting the computer:
sudo gedit /etc/rc.local
Put this, before exit 0, into the file you just opened:
cat /etc/init.d/prev_brightness > /sys/class/backlight/acpi_video0/brightness
That's it!

- 611
- 1
- 5
- 10
-
Thanks, the solution worked like a charm although there is a slight pause before the previous settings are retained. – Vesnog May 01 '14 at 21:49
Using Ubuntu 12.10 the solution Hevilath gave didn't work for me. No matter what I did with rc.local it wouldn't run.
I tried to add
echo 5 > /sys/class/backlight/acpi_video0/brightness
before the exit 0
and it was not being called. I added some logging statements to /etc/rc.local
and /etc/init.d/rc.local
and nothing was being run at all.
This should be working because Upstart still runs the older System V scripts at the appropriate times for backwards compatibility.
So I read up on how to write an Upstart script from here.
I figured since System V is on its way out, I should learn about Upstart.
I wrote a simple script to set the brightness on my two monitors and it works without issue.
Check it out here.
All you have to do is copy the file into your /etc/init/ directory using sudo. It should just work unless the brightness value is being echo'ed to the wrong file in case it is a simple change.
Hope this helps
gksudo gedit /usr/local/bin/brightness_changer.py
Paste below code,
#!/usr/bin/python
import dbus
bus = dbus.SessionBus()
proxy = bus.get_object('org.gnome.SettingsDaemon',
'/org/gnome/SettingsDaemon/Power')
iface = dbus.Interface(proxy, dbus_interface='org.gnome.SettingsDaemon.Power.Screen')
iface.SetPercentage(70)
Save it. Then issue command,
sudo chmod 755 /usr/local/bin/brightness_changer.py
Open Startup Applications,
Click Add,
Give path as /usr/local/bin/brightness_changer.py
in command and Save it.
Now whenever you login, brightness will be set to 70
.

- 11,720
-
I think your program might be better suited for Bash, but I like you answer and I like Python. – Sepero Nov 19 '12 at 12:57
-
@virpara: I was using your script and it used to work. But it doesn't work anymore with Gnome 3.10. I couldn't find org.gnome.SettingsDaemon.Power.Screen with dconf. Any ideas? – Swarnendu Biswas Oct 20 '13 at 03:52
I'm using a HP all-in-one PC. And I cannot make xbacklight to be executed in rc.local, which the reason needed to be explored.
So I just put the
xbacklight -set 0
command into StartUp Applications and it helps reduce the screen brightness after login.

- 1
/sys/class/backlight/intel_backlight/
. – pabouk - Ukraine stay strong Nov 29 '15 at 14:59