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 ~/.Xmodmapfichier 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 xmodmapcommande 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 zenitycommande de test comme suit à mon ~/.config/openbox/autostartfichier
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/xmodmapfichier /usr/bin/xmodmap_et remplacé le /usr/bin/xmodmapfichier 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-callsfichier, qui est celle qui exécute mon ~/.Xmodmap, qui est attendue. Donc, j'ai pensé que ce n'est pas un xmodmapqui écrase mes changements.
Ensuite, un peu de recherche sur Google m'a présenté la setxkbmapcommande, 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 setxkbmapcommande sans aucun argument, écrase heureusement mes modifications par la xmodmap ~/.Xmodmapcommande.
Maintenant, j'ai deux choses à comprendre, d'où cela est-il setxkbmapexé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ù setxkbmapest appelé, mais j'ai trouvé un moyen d'utiliser la setxkbmapcommande 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. xmodmapn'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
autostartdossier?