Make the keyboard backlight device writable by everyone:
sudo chmod 777 /sys/class/leds/smc::kbd_backlight/brightness
Then, in your ~/.bash_aliases, add:
echo 0 | tee -a /sys/class/leds/smc::kbd_backlight/brightness
Alternatively, if you want the backlight to be disabled for all users, then add that line instead to /etc/profile.d/custom.sh.
The only caveat I've noticed is that unlocking your screen occassionally appears to reset the backlight to full brightness. Unfortunately, I don't know what's causing this.
The following worked for me with the Asus N550JV running Ubuntu 13.10, but I think it may also work for you:
(1) Get full permissions on the file we need to control
Open up a terminal (CONTROL+ALT+T) and copy and paste this entire code block into the terminal:
sudo touch /etc/init.d/asus_kbd_backlight.sh && \
sudo chmod 777 /etc/init.d/asus_kbd_backlight.sh && \
sudo echo /bin/chmod 777 "/sys/class/leds/asus::kbd_backlight/brightness" > /etc/init.d/asus_kbd_backlight.sh && \
sudo chmod 744 /etc/init.d/asus_kbd_backlight.sh && \
sudo chown root:root /etc/init.d/asus_kbd_backlight.sh && \
sudo ln -s /etc/init.d/asus_kbd_backlight.sh /etc/rc2.d/S99asus_kbd_backlight.sh
then press ENTER. It will prompt you for your password.
(This was taken from LeoR's answer here)
(2) Create a startup script that changes the keyboard brightness
Enter the following command into the terminal:
echo 'echo 0 > /sys/class/leds/asus\:\:kbd_backlight/brightness' > ~/.my_startup_file.sh
(3) Call this script at startup
Open up "Startup Applications" (you can find this by pressing the Superkey to get to the Dash and typing Startup)
Click Add, then enter whatever you want for Name, and "sh /home/username/.my_startup_file.sh" for Command. Note: do not put "sh ~/.my_startup_file.sh". For example, my username is garrett, so I put "sh /home/garrett/.my_startup_file.sh".
Best Answer
Hereafter the script I use at login/resume:
(updated: 21/12/15 + Example of implementation)
(updated: 23/12/15 fix symlink reported command + add launchpad issue ref)
(updated: 23/12/15 less piped + /usr/local/bin)
(updated: 09/01/16 implement on {ac|battery}