Estoy configurando openbox en mi computadora portátil con Linux Mint 13. Quiero que mi tecla Bloq Mayús actúe como una tecla de control adicional. Puse la configuración requerida en mi ~/.Xmodmaparchivo y lo comprobé ejecutando
xmodmap ~/.Xmodmap
Funciona correctamente
Sin embargo, cuando vuelvo a iniciar sesión en mi sesión de openbox, estos cambios clave no están presentes. Ejecutar el xmodmapcomando anterior lo hace funcionar nuevamente, pero quiero que suceda automáticamente al inicio.
Lo interesante es que agregué un zenitycomando de prueba como el siguiente a mi ~/.config/openbox/autostartarchivo
zenity --info --text=Hello
Esto produce una pequeña ventana de diálogo y sale solo después de cerrar el diálogo.
Ahora, cuando vuelvo a iniciar sesión en mi sesión de openbox, el bloqueo de mayúsculas actúa como una tecla Ctrl, hasta que se cierra el cuadro de diálogo zenity. Una vez que se cierra ese cuadro de diálogo, el bloqueo de mayúsculas vuelve a su comportamiento predeterminado.
No he encontrado nada en esto con google, así que estoy pidiendo ayuda aquí. ¿Tienen alguna idea sobre lo que podría estar yendo mal?
Actualizar:
He estado tratando de resolver esto y en mis experimentos, copié mi /usr/bin/xmodmaparchivo /usr/bin/xmodmap_y lo reemplacé /usr/bin/xmodmapcon el siguiente script bash
#!/bin/bash
{
    echo '-------'
    date
    echo xmodmap "$@"
} >> ~/xmodmap-calls
exec /usr/bin/xmodmap_ "$@"
Entonces, cada vez que se ejecuta un maldito script en el sistema xmodmap, lo conozco.
Con esto, vuelvo a iniciar sesión y solo encuentro una entrada en mi ~/xmodmap-callsarchivo, que es la que ejecuta mi ~/.Xmodmap, que se espera. Entonces, pensé que no xmodmapes que sobrescriba mis cambios.
Luego, un poco de google me presentó el setxkbmapcomando, que aparentemente también puede hacer lo mismo. Reemplacé ese ejecutable también, similar a xmodmap anterior. ¡Y obtuve el comando culpable!
setxkbmap -option terminate:ctrl_alt_bksp
No tengo ni idea de lo que hace, pero después de ejecutar xmodmap ~/.Xmodmap(que aplicó mi configuración correctamente), si ejecuto el comando anterior, ¡mis cambios se restablecen! Editar : Esto está resultando realmente divertido. Solo un setxkbmapcomando sin ningún argumento, felizmente sobrescribe mis cambios con el xmodmap ~/.Xmodmapcomando.
Ahora tengo dos cosas que averiguar, de dónde se setxkbmapestá ejecutando esto y por qué y cómo solucionarlo. Todavía estoy investigando, pero en serio podría necesitar ayuda :)
Actualización 2
Al diablo con xmodmap. No puedo entender de dónde setxkbmapse está llamando, pero descubrí una forma de usar el setxkbmapcomando para hacer que mi Bloq Mayús se comporte como Ctrl.
setxkbmap -option ctrl:nocaps
Justo antes de iniciar openbox. Trabajos brillantes La tecla de bloqueo de mayúsculas permanece actuando como una tecla Ctrl. xmodmapnunca se ejecuta.
Mantendré esta pregunta aquí abierta para que alguien que sepa estas cosas pueda proporcionar alguna información. Además, para las personas que enfrentan esto después de mí :)
Actualización 3
Aquí está el contenido de mi .config/openbox/autostart, según lo solicitado por 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 &
Esto no tiene nada que ver con el teclado, por lo que puedo decir. Además, aquí está el script que inicia mi sesión: (Ejecutado por lightdm)
#!/bin/bash
setxkbmap -option ctrl:nocaps
exec openbox-session
fuente

autostartarchivo?Respuestas:
Estaba experimentando un problema similar. Resultó que fue causado por ibus. Simplemente lo desinstalé, ya que no necesito sus servicios.
Encontré al culpable usando su truco de reemplazar setxkbmap por un script, sin embargo, también agregué
ps -AF --forestpara identificar a la persona que llamaba setxkbmap.fuente
Sin conocer su secuencia de comandos de inicio automático, mi apuesta es que no está utilizando la sintaxis adecuada al permitir que sus comandos se ejecuten en segundo plano con el signo ampersand (
&).Intenta editar tu
.config/openbox/autostartarchivo para que se vea así:Si tiene dudas, eche un vistazo en el wiki de openbox y vea cómo tienen todos los ejemplos
&después de cada entrada.http://openbox.org/wiki/Help:Autostart
fuente
xmodmap ~/.Xmodmapen ese archivo (sin un&, no parecía necesario). He estado llamandoxmodmap(y ahorasetxkbmap) en el script que inicia mi sesión de openbox. Justo antes de correrexec openbox-session, ejecuto elsetxkbmapcomando.sleep 1retraso para quexmodmapaplique sus cambios después de que todo lo demás se carga, aunque funciona la mayor parte del tiempo, no me hace sentir demasiado confiado sobre la solución. Prefiero no hacerlo, si tengo alternativas.sleepcomando, sin embargo,&es necesario después de cada entrada, de lo contrario, todos los programas después de la primera entrada no se ejecutarán en absoluto.&hará que se bloquee. Utilicé este comportamiento con elzenitycomando para encontrar que misxmodmapcambios se sobrescriben después deautostartfinalizar. Mi inicio automático ahora está creciendo de tamaño y lo pegará en la pregunta en un momento. Sin embargo, no tiene nada que ver con el teclado.xmodmapse sobrescriben tan pronto como finaliza el archivo de inicio automático.