Je ne peux pas exécuter xmodmap lors de la connexion dans Ubuntu 13.04. J'ai cherché autour, y compris dans askubuntu et toutes les réponses que j'ai trouvées ne fonctionnent pas.
J'ai un fichier nommé .Xmodmap dans mon dossier personnel qui contient les mappages souhaités. Si je le lance manuellement, cela fonctionne bien, il n'y a donc pas d'erreur. Afin de le faire fonctionner au démarrage, j'ai essayé:
Utilisation de divers
.xinitrc
contenant l’une des commandes suivantes:xmodmap .Xmodmap
xmodmap ~/.Xmodmap
/usr/bin/xmodmap /home/NAME/.Xmodmap
if [ -s ~/.Xmodmap ]; then
xmodmap ~/.Xmodmap
fi
Utilisation
.Xresources
au lieu de.xinitrc
avec les mêmes variations.Définir comme une application de démarrage.
Aucune de ces solutions ne fonctionne dans Ubuntu 13.04 (64 bits). J'ai également vu quelques idées sur la modification globale des mappages de clavier, mais la plupart d'entre elles n'étaient pas applicables dans Ubuntu 13.04 (les fichiers correspondants n'existaient pas là où ils étaient spécifiés) et je préfère de toute façon ne pas toucher aux paramètres globaux.
unmodified
shift
altgr*
shift+altgr
. Mais qu'en est-illeft alt
etsuper key
?xkb
. En plus d'être crypté, cela pose le problème que vos cartes personnalisées sont supprimées lors de laxkb
mise à jour.Pour moi, la configuration de xkb est trop compliquée si vous souhaitez remapper 1 ou 2 clés d’une manière non disponible dans les paramètres système. De plus, la solution doit rester du côté de l'utilisateur, sans éditer '/ usr / share / X11 / xkb / symboles /' etc. ou changez la disposition du clavier. Ainsi, comme Holocronweaver le suggère, avec des extraits de code que j'ai trouvés, j'ai créé un script python à charger au démarrage de la session, qui recharge le '~ / .Xmodmap' lorsque cela est nécessaire.
Vérifiez le rapport de bogue n ° 1243642 (commentaire n ° 6) et téléchargez-le ici .
la source
J'ai eu ce problème dans Ubuntu 14.04 et j'ai trouvé la solution ici . Apparemment, Ubuntu n'est pas capable de configurer le clavier immédiatement après s'être connecté, mais c'est un peu plus tard. Donc si vous ajoutez une commande
pour
~/.bash_profile
ensuite il devrait fonctionner (il le fait pour moi).EDIT: Cela semble fonctionner uniquement après la connexion, pas après le démarrage. Je devrai enquêter plus tard.
la source
xmodmap ~/.Xmodmap
:(Convertir Caps Locken Escpour une
vim
utilisationVoici ma variante d'un script de démarrage de mappage de clé. Il se transforme Caps Locken Escn'importe quel clavier pour une utilisation avec
vi
,vim
ougvim
.Contrairement à la réponse de q4w56 , cette réponse n'utilise aucune
while; do
boucle infinie . Sinon, un noyau de mon processeur double cœur atteindrait 42% toutes les 5 secondes, ce qui réduirait considérablement la charge de la batterie de mon ordinateur portable.Enregistrez-le en tant que script. Rendre le fichier exécutable avec
chmod +x
. Ajoutez le nom et l'emplacement du script àSession and Startup → Application Autostart
(dans Xubuntu).Le comportement du clavier pour cet utilisateur restera persistant lors du redémarrage et de la déconnexion, mais pas en suspension. La persistance par la suspension peut être obtenue , mais malheureusement uniquement au niveau du système, pas facilement au niveau de l'utilisateur.
Justification de ce remappage du clavier
Dans le monde informatique d'aujourd'hui, il reste très peu d'utilisation de la Caps Lockclé. En général, on devrait s'abstenir d'utiliser ALL CAPS en vertu de la nétiquette et de la séparation de la présentation et du contenu . De plus, le fait d'appuyer sur la Caps Locktouche lors de l'édition de texte
vim
n'est pas toujours immédiatement noté, mais entraîne invariablement un comportement plutôt gênant parvim
la suite. Désactiver la Caps Lockclé dans son ensemble et la réaffecter comme une Escclé facile à atteindre donne un double gainvim
.la source
Caps Lock
clé pourrait être un véritable atout pour lesvim
utilisateurs de MacBook Apple sansEsc
clé .capslock
àctrl
. Cela résout beaucoup plus de problèmes, et dans Vim, vous pouvez utilisercapslock
+[
pourEsc
Désolé pour ingérence, mais je me suis senti obligé de le suggérer.How do you use vim after you close the lid on your laptop?
En ouvrant le couvercle bien sûr!J'ai eu le problème aussi sur Ubuntu 16.04 avec fcitx, et j'avais la solution sur le wiki fcitx , mais il faut que fcitx soit à la version 4.2.7 ou ultérieure.
touch ~/.Xmodmap
Il y a aussi une explication pour la raison.
la source
@ La réponse de Daniel m'a indiqué la bonne voie, mais j'aimerais m'étendre sur celle-ci.
Fonctionne pour moi sur Linux Mint 17.2 et Ubuntu 16.04.
J'ai essayé tous les tours que je pouvais penser à continuer à utiliser
xmodmap
, mais ils échouent tous lorsque le système passe en mode veille. Il en va de même pour les scripts d’application de démarrage utiliséssetxkbmap
dans les cas où le * settings-daemon (pour moi c’est xfce4) est exécuté plus tard que le script - et que l’ordre ne peut pas vraiment être influencé.Ce que j'ai finalement trouvé contient les ingrédients suivants:
1) Écrivez un fichier de correspondance de clavier minimal pour
/usr/share/X11/xkb/symbols
. Permet d’appeler le fichier.mylayout
Cela peut être aussi simple quebasic
est juste un nom, nous le retrouverons plus tard.name[Group1]
même, semble-t-il, mais il ne jouera aucun rôle plus tard.include "us"
comprend le clavier américain. En faitus
est un autre fichier dans le même répertoire. C'est la disposition du clavier que nous adaptons. Choisissez-en un autre selon vos besoins. Remarque: pas de point-virgule pour terminer cette ligne.key
ligne est une adaptation du clavier, d'autres peuvent suivre. Le<AE03>
peut être trouvé dans les fichiers sous/usr/share/X11/xkb/keycodes
. Utilisez lexev
programme pour déterminer que la clé "3" a le code clé 12 etXfree86
qu'elle est mappée dans le fichier de codes clés<AE03>
.include
directive pour activer une autre option du clavier, dans ce cas, je souhaite que la touche Alt droite soit la touche Maj de niveau 3, c’est-à-dire la touche qui donne accès austerling
signe que j'ai défini ci-dessus.level3
est juste un nom de fichier dans le même dossier avecralt_switch
une section de celui-ci. Regardez autour de vous et choisissez ce que vous devez inclure.2) Je n'ai pas mis le
mylayout
dans le dossier système. Au lieu de cela, je n’ai créé qu’un lien symbolique du dossier système vers un dossier de mon choix pour constater immédiatement qu’il ne s’agissait pas d’un logiciel standard.3) De plus, je n'ai pas corrigé
evdev.xml
, encore une fois pour éviter les tracas de mise à jour. Mais cela serait nécessaire pour trouver mylayout dans l'éditeur de configuration du clavier (pour xfce4, c'est le casxfce4-keyboard-settings
). Au lieu de cela, j'ai utiliséxfce4-settings-editor
et changékeyboard-layout->XkbLayout
enmylayout
(nom du fichier) etXkbVariant
enbasic
(voir ci-dessus). Ensuite,mylayout/basic
s'affiche également dans l'éditeur de configuration du clavier. Une entrée dansevdev.xml
semble être seulement nécessaire pour pouvoir sélectionner la mise en page.De cette façon, les paramètres du clavier survivent maintenant au mode veille et redémarrent.
Plus de fond peut être trouvé ici: http://www.charvolant.org/~doug/xkb/html/node5.html .
Une autre approche pour résoudre le problème du mode veille (non testé par moi-même) peut être trouvée ici: https://www.vinc17.net/unix/xkb.en.html .
UPDATE: a travaillé avec Mint 18.3 au même moment où j'ai modifié les paramètres dans xfce4-settings-editor comme décrit ci-dessus.
UPDATE: Avec 18.04, gdm3 en tant que gestionnaire d'affichage et XFCE4 en tant que gestionnaire de fenêtres, il semble que ~ / .Xmodmap soit relu et les paramètres semblent survivre à une suspension. (J'utilise rarement suspendre et je ne suis jamais sûr du mode d'utilisation du portable alors).
la source
RÉVISION
Une mise à jour au début de 2018 a mis fin à la persistance - rechargement automatique du mappage de clavier après une suspension ou une mise en veille prolongée. Depuis que les méthodes utilisant les scripts /etc/pm/sleep.d ont cessé de fonctionner (obsolète?), Il ne reste que la manière la plus récente, en utilisant / lib / systemd / system-sleep et des scripts légèrement différents (qui ont commencé à fonctionner sur des keymaps!).
Donc, cet article est mis à jour avec la méthode la plus récente pour la persistance et pour inclure le chargement normal du keymap initial, qui a également commencé à fonctionner. La routine de conversion d'un fichier .Xmodmap en .xkbmap reste inchangée.
Notez qu'il s'agit d'une solution par utilisateur. Pour une réponse par périphérique, voir comment appliquer une mappe de clavier à un seul périphérique . Cette méthode pourrait être adaptée pour être utilisée ici.
Commencez par modifier le fichier .Xmodmap comme vous le souhaitez. Celles-ci sont plus faciles à modifier directement que les fichiers .xkbmap. Quand il est chargé:
puis convertissez-les en un fichier .xkb:
Pour charger automatiquement au démarrage, ouvrez Applications de démarrage, cliquez sur Ajouter et, dans la ligne de commande, entrez:
("utilisateur" est remplacé par le nom d'utilisateur actuel.) Pour Nom, entrez éventuellement Charger la carte du clavier. Ajoutez un commentaire si vous le souhaitez et cliquez sur Enregistrer.
Le clavier se chargera désormais à chaque démarrage du système, mais ne survivra pas à une suspension ou une veille prolongée. Pour cela, créez un nouveau fichier dans / lib / systemd / system-sleep, éventuellement nommé 60_xkbmap, qui contient:
( Réf. ) Comme ci-dessus, remplacer "utilisateur" par le nom d'utilisateur actuel.
Le clavier devrait maintenant se charger automatiquement et rester persistant. Remarque:
la source
Cela m'a aussi fait trébucher lorsque j'ai mis à jour Ubuntu 12.04 à 13.04.
Heureusement, ce paramètre est maintenant (ou a peut-être toujours été) facilement accessible dans les préférences Clavier et peut être modifié en quelques clics de souris.
Voilà: le contrôle gauche et le verrouillage majuscule ont changé de position.
N'oubliez pas de supprimer
~/.Xmodmap
une fois que vous avez effectué le changement.la source
XKBOPTIONS="ctrl:swapcaps"
dans/etc/default/keyboard
.Je trouve l’ajout de ce script au démarrage satisfaisant:
J'ai essayé d'utiliser
xmodmap ./Xmodmap
, mais chaque fois qu'il est exécuté, un retard notable se produira.la source
while; do
boucle infinie devrait être évitée. Un cœur de mon processeur double cœur a atteint 42% toutes les 5 secondes, réduisant considérablement la charge de la batterie de mon ordinateur portable!