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:43xbacklightis not working when put in/etc/rc.localseems 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.bashrcfile in your home directory? – Parto Feb 08 '14 at 05:58.bashrcsuggestion. However, the keyboard command seems to require root permission, and unless I'm mistaken,.bashrcdoes 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.desktopfiles 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.desktopfile? – Questioner Feb 09 '14 at 04:56/usr/local/bin/lower-brightnessand then enter this file in a new .desktop file under/etc/xdg/autostart/likeExec=/usr/local/bin/lower-brightnesstogether with other settings such asX-GNOME-Autostart-enabled=trueand perhapsNoDisplay=falseand/orHidden=false. I hope this works, otherwise, I might have another suggestion ;-) – Sadi Feb 09 '14 at 09:28.desktopfile, 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.shfrom your.bashrc/.profile. – Izzy Feb 11 '14 at 23:33.profiledefinitely execute at every startup? Also, I had to changesudo /home/dave/startup.shtosudo sh /home/dave/startup.shbecause otherwise when I tested it at the command line it saidcommand not found. – Questioner Feb 12 '14 at 06:09.profileis executed at login,.bashrcwhenever 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 theshbecause you didn't makestartup.shexecutable (chmod +x startup.sh). – Izzy Feb 12 '14 at 09:20