Depuis Ubuntu 18.04, Réponse de Bruno Pereira ne semble plus fonctionner.
Pour désactiver une touche, vous devez obtenir son code :
xmodmap -pk | grep -i sleep
Pour moi, le bouton "sleep" a le code 150
comme vous pouvez le constater :
150 0x1008ff2f (XF86Sleep) 0x0000 (NoSymbol) 0x1008ff2f (XF86Sleep) 0x0000 (NoSymbol) 0x1008ff2f (XF86Sleep) 0x1008ff2f (XF86Sleep)
Une fois que vous avez le code clé, vous avez principalement deux façons de le désactiver automatiquement.
Désactiver pour certains utilisateurs
Si vous souhaitez simplement le désactiver pour un ou plusieurs utilisateurs, vous pouvez ajouter cette commande à l'option Applications de démarrage en supposant que le code clé de votre bouton de mise en veille est le suivant 150
:
xmodmap -e 'keycode 150='
Si l'utilisateur se déconnecte, le bouton sera à nouveau activé. Si vous souhaitez qu'il reste désactivé, essayez plutôt l'autre méthode.
Désactiver pour tous les utilisateurs
Le bouton sera désactivé après chaque démarrage. Vous aurez besoin des privilèges d'administrateur pour cela. Modifiez ce fichier :
sudo gedit /usr/share/X11/xkb/keycodes/evdev
La ligne que nous devons modifier se présente comme suit <SOMETHING> = <your_keycode>
. Une fois que vous l'avez trouvé, ajoutez //
au début pour le commenter. Dans mon cas, j'ai dû changer cela :
<I150> = 150; // #define KEY_SLEEP 142
Dans ce domaine :
// <I150> = 150; // #define KEY_SLEEP 142
Remarque : Avec les deux méthodes, le bouton reste activé pendant quelques secondes lors du démarrage ou de la connexion.
Sources :