I have been trying to get my laptop's screen brightness to default to a low setting, and for my keyboard light to be off when I start my computer.
I have these two commands that work when I execute them at the command line:
xbacklight -set 7
echo 0 | sudo tee /sys/class/leds/asus::kbd_backlight/brightness
I put them in my /etc/rc.local
file, like so:
#!/bin/sh -e
# ...
# By default this script does nothing.
echo 0 | tee /sys/class/leds/asus::kbd_backlight/brightness
xbacklight -set 7
exit 0
However, neither command executes. (I was told that the sudo
was not needed in the second command when placed in /etc/rc.local
)
There was another question asking the same thing about rc.local
, but I tried to also include my commands using the Startup Applications GUI interface. That also did not work, so I think the problem might go beyond just the rc.local
file. Other default startup commands in the list seem to start, so far as I can tell.
Why am I unable to get any custom command line to execute when I startup?
New: After some experimentation, it seems like the commands I put in /etc/rc.local
might be getting executed before the login screen. So, my login screen has the screen appropriately dimmed. However, then when I login, my screen goes to maximum brightness. So it seems like perhaps there is some other setting that is being applied when I log in, or that /etc/rc.local
only applies for the login screen itself and has no bearing on what happens to a user when logged in.
So, how do I resolve this so that the brightness and keyboard light settings I want apply to the user login session, not just to the login screen?
ls /sys/class/backlight/
– Raja G Feb 08 '14 at 05:43xbacklight
is not working when put in/etc/rc.local
seems easy to explain... The X server has not started yet when the system executes this file. On the other hand, it is really strange that it is not working in your startup session option... – Rmano Feb 08 '14 at 05:57.bashrc
file in your home directory? – Parto Feb 08 '14 at 05:58.bashrc
suggestion. However, the keyboard command seems to require root permission, and unless I'm mistaken,.bashrc
does not have root permission, only the logged in user. There must be a way to resolve that, though. After all, I can lower and turn off the keyboard backlight with a straight keyboard command, so it shouldn't be something that can only be done by root...? – Questioner Feb 08 '14 at 06:37ls /sys/class/backlight/ acpi_video0 intel_backlight
– Questioner Feb 08 '14 at 08:22.bashrc
, and it does not execute on login, it only executes when I open a terminal window. That is not as automatic as I would like it to be. – Questioner Feb 08 '14 at 09:12.desktop
files to see how it works, but the format is not clear. Is there anywhere that might instruct me on how to use these particular commands within a.desktop
file? – Questioner Feb 09 '14 at 04:56/usr/local/bin/lower-brightness
and then enter this file in a new .desktop file under/etc/xdg/autostart/
likeExec=/usr/local/bin/lower-brightness
together with other settings such asX-GNOME-Autostart-enabled=true
and perhapsNoDisplay=false
and/orHidden=false
. I hope this works, otherwise, I might have another suggestion ;-) – Sadi Feb 09 '14 at 09:28.desktop
file, and unfortunately, the problem persists, but now I think it might be different than what I thought. I've opened another questions detailing the issue. – Questioner Feb 09 '14 at 11:53.bashrc
(or.profile
) suggestion. If I got that right, the password was the only issue there. If so, you could define this command for your user not requiring a sudo password (via a corresponding line in/etc/sudoers.d/user-alias
, e.g.dave ALL = NOPASSWD: /home/dave/startup.sh
, and then executesudo /home/dave/startup.sh
from your.bashrc
/.profile
. – Izzy Feb 11 '14 at 23:33.profile
definitely execute at every startup? Also, I had to changesudo /home/dave/startup.sh
tosudo sh /home/dave/startup.sh
because otherwise when I tested it at the command line it saidcommand not found
. – Questioner Feb 12 '14 at 06:09.profile
is executed at login,.bashrc
whenever you start a new bash shell (and there's also the.xprofile
, executed on start of the X-Window session). And you might have needed to add thesh
because you didn't makestartup.sh
executable (chmod +x startup.sh
). – Izzy Feb 12 '14 at 09:20