RÉVISION
Une mise à jour de début 2018 a cassé la persistance -- le rechargement automatique de la keymap après une suspension ou une hibernation. Puisque les méthodes utilisant /etc/pm/sleep.d scripts ont cessé de fonctionner (dépréciées ?), il ne restait que la nouvelle méthode, utilisant /lib/systemd/system-sleep et des scripts légèrement différents (qui ont commencé à fonctionner sur les keymaps !).
Ce post est donc mis à jour pour la nouvelle méthode de persistance, et pour inclure le chargement initial normal de la keymap, qui a également commencé à fonctionner. La routine pour convertir un fichier .Xmodmap en .xkbmap reste inchangée.
Notez qu'il s'agit d'une solution par utilisateur. Pour une réponse par dispositif, voir Comment appliquer un keymap à un seul appareil ? . Cette méthode pourrait être adaptée pour être utilisée ici.
Modifiez d'abord le fichier .Xmodmap comme vous le souhaitez. Ces fichiers sont plus faciles à modifier directement que les fichiers .xkbmap. Lorsqu'il est chargé :
xmodmap .Xmodmap
puis convertir en un fichier .xkb :
xkbcomp $DISPLAY $HOME/.xkbmap
Pour un chargement automatique au démarrage, ouvrez Applications de démarrage, cliquez sur Ajouter, et entrez dans la ligne de commande :
xkbcomp /home/user/.xkbmap ":0"
("utilisateur" est remplacé par le nom d'utilisateur réel.) Pour le nom, entrez peut-être Load Keyboard Map. Ajoutez un commentaire si vous le souhaitez et cliquez sur Enregistrer.
Le keymap se chargera désormais à chaque démarrage du système, mais ne survivra pas à une suspension ou à une mise en veille prolongée. Pour cela, créez un nouveau fichier dans /lib/systemd/system-sleep, peut-être nommé 60_xkbmap, qui contient :
#!/bin/sh
case $1/$2 in
pre/*)
# Place pre-suspend commands here
exit 0
;;
post/*)
# Place post-suspend commands here
export DISPLAY=":0"
export XAUTHORITY="/home/user/.Xauthority"
su user -c "xkbcomp /home/user/.xkb/xkb-map $DISPLAY 2>/dev/null"
;;
esac
( Réf. ) Comme ci-dessus, remplacez "user" par le nom d'utilisateur réel.
Le keymap devrait maintenant se charger automatiquement et rester persistant. Note :
- S'applique à la version LTS actuelle, 16.04, et probablement aux versions ultérieures.
- Tiré de poste 14 du fil de discussion sur les bugs mentionné ci-dessus.
- Les commentaires précédents ont été appliqués au message original.