Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to change the brightness by overwriting the value on this file:

sudo echo 5 > /sys/class/backlight/acpi_video0/brightness
-bash: /sys/class/backlight/acpi_video0/brightness: Permission denied

It doesn't work even when using sudo. However if I switch to super-user with su, it works. Why is that?

share|improve this question

migrated from Oct 7 '12 at 20:45

This question came from our site for professional and enthusiast programmers.

up vote 10 down vote accepted

The error happens because sudo elevates permissions for the command (sudo echo 5) but not the redirection to write the file (> /sys/class/backlight/acpi_video0/brightness). The actual bash shell needs permission to write, which is why it fails with sudo but works as root.

You can work around this by running the tee command as root to write to the file:

echo 5 | sudo tee /sys/class/backlight/acpi_video0/brightness

Note that this will also echo "5" to your terminal. This is a normal side effect of the tee command.

share|improve this answer
Credit goes to @duskwuff for the clever tee solution – mguymon Sep 20 '12 at 0:45
I can't take credit for coming up with that -- it's a bit of UNIX folklore I picked up from who-knows-where. – duskwuff Sep 20 '12 at 2:15

If you didn't want 5 to be echoed this also works:

sudo sh -c 'echo 5 > /sys/class/backlight/acpi_video0/brightness'
share|improve this answer

I've been struggling with this problem on my VAIO VPCEG for quite a time. After doing everything mentioned in every forum I found something interesting:

After changing the boot parameter acpi_osi=Linux acpi_backlight=vendor and trying to manually change /sys/class/backlight/[vendor - in my case intel_backlight]/brightness, I realized that changing permission to this file from root to my user and restarting acpid service, this would allow me to use brightness keys flawlessly.

share|improve this answer

the below solutions works fine for me..

i am posting it as answer so that others might get help:

change the permission:

sudo chmod a+rw /sys/class/backlight/intel_backlight/brightness

now change brightness:

echo 400 > /sys/class/backlight/intel_backlight/brightness

in your case it would be: /sys/class/backlight/acpi_video0/brightness

share|improve this answer
Welcome to Super User! Please don't add "thanks" as answers. Invest some time in the site and you will gain sufficient privileges to upvote answers you like, which is the Super User way of saying thank you. – DavidPostill Jun 29 '15 at 13:51
In addition you didn't really answer the question, which was "Why is that?" – DavidPostill Jun 29 '15 at 13:52
thanks a lot.. for the information and really sorry.. just because of me.. you wasted your important time for guiding me..i will make sure this doesn't happen again – noobdeveloper99 Jun 29 '15 at 15:49
It is not good practice to allow everyone to read and write a system config file like that. – lindhe Dec 18 '15 at 15:15

You must log in to answer this question.