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 ~/.Xmodmap
archivo 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 xmodmap
comando anterior lo hace funcionar nuevamente, pero quiero que suceda automáticamente al inicio.
Lo interesante es que agregué un zenity
comando de prueba como el siguiente a mi ~/.config/openbox/autostart
archivo
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/xmodmap
archivo /usr/bin/xmodmap_
y lo reemplacé /usr/bin/xmodmap
con 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-calls
archivo, que es la que ejecuta mi ~/.Xmodmap
, que se espera. Entonces, pensé que no xmodmap
es que sobrescriba mis cambios.
Luego, un poco de google me presentó el setxkbmap
comando, 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 setxkbmap
comando sin ningún argumento, felizmente sobrescribe mis cambios con el xmodmap ~/.Xmodmap
comando.
Ahora tengo dos cosas que averiguar, de dónde se setxkbmap
está 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 setxkbmap
se está llamando, pero descubrí una forma de usar el setxkbmap
comando 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. xmodmap
nunca 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
autostart
archivo?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 --forest
para 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/autostart
archivo 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 ~/.Xmodmap
en 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 elsetxkbmap
comando.sleep 1
retraso para quexmodmap
aplique 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.sleep
comando, 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 elzenity
comando para encontrar que misxmodmap
cambios se sobrescriben después deautostart
finalizar. 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.xmodmap
se sobrescriben tan pronto como finaliza el archivo de inicio automático.