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.
if you just wana change and save the screen brightness only, you can use
sudo apt-get install xbacklight
after installing, type command to set the screen brightness easily
xbacklight -set `num`
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
lspci command to find out your VGA device code.
xgamma -gamma `X`
to set contrast,
X from 0 to 1
Check brightness levels by running this command as root:
(my laptop max brightness is 20)
Set you screen brightness to minimum and check current level by evoking next command
(my laptop min brightness level is 0;)
/etc/rc.localand add before
exit 0the 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.
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:
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:
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
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
exit 0 and it was not being called. I added some logging statements to
/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,
Give path as
/usr/local/bin/brightness_changer.py in command and Save it.
Now whenever you login, brightness will be set to
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.