Je configure openbox sur mon ordinateur portable exécutant Linux Mint 13. Je veux que ma touche de verrouillage des majuscules agisse comme une clé de contrôle supplémentaire. J'ai mis les paramètres requis dans mon ~/.Xmodmap
fichier et l' ai vérifié en exécutant
xmodmap ~/.Xmodmap
Cela fonctionne correctement.
Cependant, lorsque je me reconnecte à ma session openbox, ces modifications clés ne sont pas présentes. L'exécution de la xmodmap
commande ci-dessus le fait fonctionner à nouveau, mais je veux que cela se produise automatiquement au démarrage.
Ce qui est intéressant, c'est que j'ai ajouté une zenity
commande de test comme suit à mon ~/.config/openbox/autostart
fichier
zenity --info --text=Hello
Cela produit une petite fenêtre de dialogue et se ferme uniquement après la fermeture de la boîte de dialogue.
Maintenant, lorsque je me reconnecte à ma session openbox, le verrouillage des majuscules agit comme une touche Ctrl, jusqu'à ce que la boîte de dialogue de zénité soit fermée. Une fois cette boîte de dialogue fermée, le verrouillage des majuscules revient à son comportement par défaut.
Je n'ai rien trouvé à ce sujet avec google, donc je demande de l'aide ici. Avez-vous des idées sur ce qui pourrait mal se passer?
Mise à jour:
J'ai essayé de comprendre cela et dans mes expériences, j'ai copié mon /usr/bin/xmodmap
fichier /usr/bin/xmodmap_
et remplacé le /usr/bin/xmodmap
fichier par le script bash suivant
#!/bin/bash
{
echo '-------'
date
echo xmodmap "$@"
} >> ~/xmodmap-calls
exec /usr/bin/xmodmap_ "$@"
Donc, chaque fois qu'un putain de script sur le système s'exécute xmodmap
, je le connais.
Avec cela, je me reconnecte et je ne trouve qu'une seule entrée dans mon ~/xmodmap-calls
fichier, qui est celle qui exécute mon ~/.Xmodmap
, qui est attendue. Donc, j'ai pensé que ce n'est pas un xmodmap
qui écrase mes changements.
Ensuite, un peu de recherche sur Google m'a présenté la setxkbmap
commande, qui peut apparemment faire la même chose. J'ai également remplacé cet exécutable, similaire à xmodmap ci-dessus. Et j'ai obtenu la commande coupable!
setxkbmap -option terminate:ctrl_alt_bksp
Je n'ai absolument aucune idée de ce que cela fait, mais après avoir exécuté xmodmap ~/.Xmodmap
(qui a appliqué mes paramètres correctement), si j'exécute la commande ci-dessus, mes modifications sont réinitialisées! Edit : Cela s'avère vraiment drôle. Juste une setxkbmap
commande sans aucun argument, écrase heureusement mes modifications par la xmodmap ~/.Xmodmap
commande.
Maintenant, j'ai deux choses à comprendre, d'où cela est-il setxkbmap
exécuté et pourquoi et comment y remédier. Je suis toujours en enquête mais je pourrais sérieusement utiliser de l'aide :)
Update 2
Au diable xmodmap
. Je ne peux pas comprendre d'où setxkbmap
est appelé, mais j'ai trouvé un moyen d'utiliser la setxkbmap
commande pour que mon verrouillage des majuscules se comporte comme Ctrl.
setxkbmap -option ctrl:nocaps
Juste avant de démarrer openbox. Fonctionne brillamment. La touche de verrouillage des majuscules agit toujours comme une touche ctrl. xmodmap
n'est jamais exécuté.
Je vais laisser cette question ouverte pour que quelqu'un qui sache ces choses puisse donner un aperçu Aussi, pour les gens qui font face à ça après moi :)
Mise à jour 3
Voici le contenu de mon .config/openbox/autostart
, tel que demandé par pedrosaurio.
#!/bin/bash
# Set the wallpaper.
feh --bg-scale /wall.png
# Set default brightness.
xbacklight -time 1 '=40'
# Compositing.
xcompmgr &
# The panel.
tint2 &
# Start a terminal too.
roxterm &
Pour autant que je sache, cela n'a rien à voir avec le clavier. En outre, voici le script qui démarre ma session: (exécuté par lightdm)
#!/bin/bash
setxkbmap -option ctrl:nocaps
exec openbox-session
autostart
dossier?