Pour ajuster mon rétroéclairage, j'utilise la commande:
Sudo bash -c "echo $backlight_value > /sys/class/backlight/Apple_backlight/brightness;"
Maintenant, je veux configurer un raccourci clavier pour la commande ci-dessus via un script Shell avec openbox pour régler le rétroéclairage de mon PC. Pour configurer le raccourci clavier, j'ai recherché le fichier de configuration utilisé par openbox:
$ ps ax | grep openbox
1194 ? Sl 0:02 openbox --config-file /home/ubuntu/.config/openbox/lubuntu-rc.xml --sm-save-file /home/ubuntu/.cache/openbox/sessions/1478226066-1194-624962777.obs --sm-no-load
1958 pts/0 S+ 0:00 grep --color=auto openbox
Ensuite, j'ai édité le fichier de configuration lubuntu-rc.xml et cela fonctionne (je l'ai testé):
<!-- My Keybindings -->
<keybind key="0xC0">
<action name="Execute">
<execute>lxterminal</execute>
</action>
</keybind>
Maintenant, je veux exécuter mon script shell personnalisé ci-dessous. Mais dans mon script Shell, il existe deux commandes (lignes 2 et 5) qui nécessitent des autorisations supplémentaires. Comment puis-je les exécuter en tant que root?
#!/bin/bash
curr=`cat /sys/class/backlight/Apple_backlight/brightness`
if [ $curr -gt 0 ]; then
curr=$((curr - 1));
echo $curr > /sys/class/backlight/Apple_backlight/brightness;
fi
J'ai aussi changé les privilèges mais l'erreur est toujours là (permission refusée):
ls -l /sys/class/backlight/Apple_backlight/
total 0
-rwxrwxr-x 1 ubuntu ubuntu 4096 Nov 4 00:41 brightness
J'ai testé uniquement le script sans reliure et cela fonctionne:
bash /home/ubuntu/Documents/CustomScripts/brightnessDown.sh
Je devais configurer le bit d'exécution pour les deux scripts:
-rw**x**r-**x**r-- 1 ubuntu ubuntu 189 Nov 4 15:34 brightnessDown.sh
-rw**x**r-**x**r-- 1 ubuntu ubuntu 191 Nov 4 15:36 brightnessUp.sh
Alors je suis entré:
Sudo chmod 754 ~/Documents/CustomScripts/brightness*.sh
Maintenant, je peux exécuter les deux scripts via des raccourcis clavier.