¿Por qué mi comando xmodmap no se ejecuta al iniciar / iniciar sesión?


10

Quiero ejecutar este comando cada vez que inicio sesión (o cada vez que inicio, si eso no funciona): xmodmap -e 'keysym Delete = Menu' -e 'keysym Menu = Delete'

He intentado muchas cosas. Puse el comando adentro System > Preferences > Startup Applications. Lo puse en un .sharchivo, lo marqué chmod +xy puse ese archivo System > Preferences > Startup Applications. Puse el guión adentro /etc/init.d. Puse los comandos en ~/.profile. Nada parece funcionar.

Finalmente, puse esto en mi ~/.profile:

touch test1
xmodmap -e 'keysym Delete = Menu' -e 'keysym Menu = Delete'
touch test2

Tanto test1 como test2 se crean, pero las claves aún no se reasignan. Si solo copio / pego el comando y lo ejecuto manualmente, funciona bien. Pero no se ejecutará al iniciar sesión. ¿Algunas ideas?

Respuestas:


11

~/.profilese ejecuta temprano en la secuencia de inicio de sesión. Si su entorno de escritorio configura un diseño de teclado, puede sobrescribir la configuración que acaba de cargar.

Ponga su configuración en un archivo llamado ~/.Xmodmap:

keysym Delete = Menu
keysym Menu = Delete

En el entorno predeterminado de Gnome en Ubuntu 10.04, la próxima vez que inicie sesión, se le preguntará si desea cargar ~/.Xmodmap. Cárguelo y marque "no volver a preguntar". Luego .Xmodmapse aplicará después de la configuración predeterminada.


Gracias, esto funcionó perfectamente. Por curiosidad, ¿cómo volvería al cuadro de diálogo que marqué "no volver a preguntarme" si quisiera pasar algún tiempo en el futuro?
Mateo

1
@Matthew: Sin probar: inicie gconf-editor, busque /desktop/gnome/peripherals/keyboard/generaly edite la known_file_listentrada para eliminar .Xmodmap.
Gilles 'SO- deja de ser malvado'

Esto funcionó para mí en Ubuntu 10.10 beta cuando respondiste por primera vez a esta pregunta. Hice una nueva instalación de Ubuntu 10.10 ayer, y puse un archivo .Xmodmap idéntico en mi carpeta de inicio. Cuando volví a iniciar sesión, obtuve el cuadro de diálogo, cargué .Xmodmap y marqué la casilla como antes. Pero no parece estar reasignando las teclas. Verifiqué en gconf, y .Xmodmap definitivamente está en la lista de archivos conocidos. ¿Algunas ideas?
Mateo

Esto tampoco me funciona en Gnome 3.10.1 / Archlinux. Me pregunto si algo no se ha ajustado en el orden en que Gnome carga los diseños de teclado.
Caleb

Para Gnome 3.10 que ya no carga ~ / .xmodmap, encontré una solución que funcionaba en bbs.archlinux.org/viewtopic.php?pid=1194968#p1194968 : deshabilita el complemento de teclado de Gnome. $ gsettings set org.gnome.settings-daemon.plugins.keyboard active false
plnx

2

Encontré que en el lugar en Gconf-Editor mencionado anteriormente, el nombre de su diseño de teclado revisado debería aparecer dos veces, una vez en "lista de archivos conocidos" y una vez en "controladores de actualización". En cuanto a por qué Ubuntu a veces pone la última entrada, y a veces no ... bueno, te mantiene alerta, ¿no?

Por cierto, después de mucha investigación, utilicé el ajuste anterior para reasignar la tecla izquierda de Windows. Puse la siguiente declaración en mi propio diseño de teclado para duplicar la tecla de flecha izquierda: -

código clave 133 = 0xFF51

(Compruebe que esos son los códigos correctos para usted yendo a xev y presionando primero una tecla y luego la otra).

Es solo un pequeño punto, pero mientras estoy en Internet me da una conveniente tecla "Atrás": Alt + Win con la mano izquierda. Puedo hacerlo sin mirar.


1
Alan escribió: "Encontré que en el lugar en Gconf-Editor mencionado anteriormente, el nombre de su diseño de teclado revisado debe aparecer dos veces, una vez en" conocido_lista_archivo "y una vez debajo de" update_handlers ". Puedo confirmar que Alan tiene razón. En Ubuntu 10.10, para que su archivo ~ / .Xmodmap tenga efecto, ".Xmodmap" debe aparecer tanto en la "lista de archivos conocidos" como en la lista de "controladores de actualizaciones" en / desktop / gnome / periféricos / keyboard / general en gconf -editor. Gracias Alan.

1

Algunos sistemas buscan un archivo llamado ~/.Xmodmapy ejecutan los comandos que se encuentran allí. Intenta poner estas líneas en ese archivo:

keysym Delete = Menu
keysym Menu = Delete
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.