Ordinateur portable: MacbookPro 11,5 avec AMD gpu
OS: Lubuntu 17.04
J'ai suivi les instructions sur https://wiki.archlinux.org/index.php/MacBookPro11,x et cela a fonctionné.
Sudo setpci -v -H1 -s 00:01.00 BRIDGE_CONTROL=0
Sudo gmux_backlight 120
Le problème est que
Sudo
à chaque foisComment régler ceci?
Mise à jour (après la réponse de terdon )
Déplacé le gmux_backlight
compilé vers /usr/sbin/
Utilisez Sudo visudo
pour permettre à chaque utilisateur d'exécuter gmux_backlight
avec Sudo
et sans entrer de mot de passe.
<username1> ALL=NOPASSWD:/usr/sbin/gmux_backlight
<username2> ALL=NOPASSWD:/usr/sbin/gmux_backlight
<username3> ALL=NOPASSWD:/usr/sbin/gmux_backlight
Créez /etc/init.d/gmux_backlight_fix
et Sudo chmod +x
le script.
#!/bin/bash -e
setpci -v -H1 -s 00:01.00 BRIDGE_CONTROL=0 >/dev/null
Créez un lien symbolique vers le script pour exécuter le niveau 2 (le niveau d'exécution grpahical pour Ubuntu) avec la priorité la plus basse (99) en suivant Comment exécuter un script au démarrage en tant qu'utilisateur root .
Sudo ln -s /etc/init.d/gmux_backlight_fix /etc/rc2.d/S99gmux_backlight_fix
Ajouté à la section de ~/.config/openbox/lubuntu-rc.xml
pour chaque utilisateur.
<keyboard>
<chainQuitKey>C-g</chainQuitKey>
<!-- My Keys -->
<keybind key="XF86LaunchA">
<action name="Execute">
<command>Sudo gmux_backlight -10</command>
</action>
</keybind>
<keybind key="XF86LaunchB">
<action name="Execute">
<command>Sudo gmux_backlight +10</command>
</action>
</keybind>
J'utilise Fn-F3 et Fn-F4 car Lubuntu ne peut pas détecter automatiquement Fn-F1 et Fn-F2 sur l'ordinateur portable.
Au départ, j’ai écrit un script bash qui prend des arguments et autorise chaque utilisateur à l’exécuter avec Sudo. Un peu plus tard, je crains que les gens ne puissent briser le script bash et exécuter n'importe quelle commande avec le privilège Sudo. J'utilise donc le binaire compilé à la place de mon script bash.
L'ancien script bash est /usr/sbin/gmux_capped_backlight
:
#!/bin/bash -e
# setpci
setpci -v -H1 -s 00:01.00 BRIDGE_CONTROL=0 >/dev/null
# Get current brightness
CB="$( cat /sys/class/backlight/gmux_backlight/brightness )"
# Split characters of argument
arg=$1
first_char=${arg:0:1}
other_char=${arg:1}
# Desired Brightness
if [ $first_char == "+" ]; then
Brightness=$(expr $CB + $other_char)
Elif [ $first_char == "-" ]; then
Brightness=$(expr $CB - $other_char)
else
Brightness=$arg
fi
# Limit the range of brightness #
Max=1024
Min=0
if [ $Brightness -gt $Max ]; then
Brightness=$Max
fi
if [ $Brightness -lt $Min ]; then
Brightness=$Min
fi
Puisque vous dites que vous pouvez déjà ajuster ceci en utilisant un script, il semble que vous y soyez presque déjà. Vous avez juste besoin de:
Configurez Sudo
pour permettre à votre utilisateur d’exécuter ce script particulier sans mot de passe. Commencez par ouvrir un terminal et lancez Sudo visudo
. Cela fera apparaître une fenêtre de votre éditeur par défaut. Ajoutez cette ligne au fichier:
terdon ALL=NOPASSWD:/path/to/your/script
Évidemment, remplacez terdon
par votre nom d'utilisateur et remplacez /path/to/your/script
par le chemin d'accès à votre script. Cela vous facilitera la vie si vous pouvez vous assurer que ce chemin ne contient aucun espace. Maintenant, enregistrez le fichier et fermez-le.
Vous pouvez maintenant exécuter le script sans avoir à saisir le mot de passe root. Il vous suffit donc d'affecter les commandes permettant d'augmenter et de réduire la luminosité des touches F1/F2. Je n'utilise pas LXDE, mais j'ai trouvé un fil de discussion ici qui suggère que vous pouvez le faire en éditant ~/.config/openbox/lxde-rc.xml
et en ajoutant quelque chose comme ceci:
<keybind key="F2">
<action name="Execute">
<command>/path/to/your/script increaseBrightness</command>
</action>
</keybind>
<keybind key="F1">
<action name="Execute">
<command>/path/to/your/script decreaseBrightness</command>
</action>
</keybind>
Dans les deux cas, utilisez le paramètre requis par votre script pour augmenter/diminuer la luminosité.
Vous pouvez également le faire en installant xbindkeys
:
Sudo apt-get install xbindkeys
Créez le fichier de paramètres par défaut:
xbindkeys --defaults > `~/.xbindkeysrc`
Obtenez les bons codes pour vos clés. Ce sera probablement quelque chose comme F1
. Ensuite, éditez ~/.xbindkeysrc
et ajoutez-les:
"/path/to/your/script increaseBrightness"
F2
"/path/to/your/script decreaseBrightness"
F1
Enfin, lancez xbindkeys
et vos raccourcis devraient fonctionner. Ajoutez-le à votre liste de programmes de démarrage pour qu'il soit toujours exécuté lorsque vous vous connectez.