Como la distribución de mi teclado no me conviene, ejecuto xmodmap
el inicio de sesión. El script se nombra .profile
y funciona bien, pero rompe la interfaz de Unity.
Quiero saber dónde poner la xmodmap
línea para que se ejecute en mi inicio de sesión y no rompa nada.
Ya he intentado ponerlo en los archivos .bash_login
y .bash_profile
, sin éxito ( xmodmap
no configura mi teclado).
¿Cuáles son mis opciones?
xmodmap
key-binding
Thiago Moraes
fuente
fuente
Respuestas:
El lugar correcto para colocar
xmodmap ~/.Xmodmap
(para que sus cambios se lean al inicio) está en~/.xinitrc
(vea la explicación a continuación), aunque podría colocar alternativamente elxmodmap
comando como un elemento de inicio (/usr/bin/xmodmap /home/user/.Xmodmap
). Puedo decir que para 12.04 (y presumiblemente 12.10) que estas dos alternativas definitivamente funcionan, ya que de cualquier manera se leen después de iniciar sesiónlightdm
. (Cambié Volver al desplazamiento a la derecha , y el cambio solo entró en vigencia después de ingresar mi contraseña e iniciar sesión).Tenga en cuenta: si está en Xfce, en las preguntas frecuentes oficiales de Xfce se indica que es posible que deba crear un elemento de inicio en lugar de usarlo
~/.xinitrc
, y que es posible que deba retrasar la ejecución para que losxmodmap
cambios no se sobrescribansetxkbmap
. Puede usar un retraso para lograr esto en su entrada de inicio:(Para la entrada de inicio es necesario especificar rutas absolutas)
Cada vez que
setxkbmap
se ejecuta para cambiar la distribución del teclado, deberá ejecutarxmodmap ~/.Xmodmap
nuevamente en el terminal.Creando
~/.xinitrc
Cree un archivo en su carpeta de inicio llamado
.xinitrc
cony colocar en ella:
Su
Xmodmap
archivo no debe tener entradas en elxmodmap -e " "
estilo que se usa en el terminal para configurar temporalmente los valores. Debe tener entradas en este formato:A menudo es confuso cuál de los diversos
X
archivos (como.xprofile
,.xinitrc
etc.) se leen al inicio, pero.xinitrc
parece que todavía se leen en 12.04, mientras que.Xmodmap
o.xinputrc
no se leen por sí mismos.fuente
xmodmap -e '...
, puede recuperar el formato correcto paraxmodmap .Xmodmap
conxmodmap -pke
, que imprime la asignación actual, aunque querrá filtrar esto solo a las líneas que se aplican al cambio que realizó.Estoy usando ElementaryOS (con su administrador de ventanas basado en GNOME) y encontré una solución mediante el uso de
xdg
scripts de inicio automático. Muchos administradores de ventanas están utilizando xdg, por lo que supongo que este enfoque también funcionará en otros entornos. Al menos debería funcionar con GNOME.xdg ejecuta scripts
~/.config/autostart
al iniciar sesión en una sesión X. Para cargar la configuración de xmodmap al iniciar sesión, agregue el siguiente script a~/.config/autostart/xmodmap.desktop
:Luego cierre sesión e inicie sesión nuevamente, y su configuración Xmodmap debería haberse cargado.
Si no funciona, intente ejecutar xmodmap en la terminal para ver si se queja de xmodmap:
Si no obtiene ningún error, ejecute el siguiente comando para depurar:
fuente
~/.xinitrc
que falló el uso de un archivo. Como señaló hxpax, los usuarios de Mint (probablemente la mayoría / todos los Linux derivados de Debian) pueden usar un cuadro de diálogo GUI para agregar entradas de inicio automáticoMain Menu --> Preferences --> Startup Applications
.No tengo la interfaz de la unidad frente a mí en este momento, pero intente hacer clic en el botón Aplicaciones en el iniciador, luego escriba inicio. Debería haber una aplicación llamada Aplicaciones de inicio (o alguna similar). Haga clic en él y agregue su comando xmodmap (por ejemplo
xmodmap /home/thiago/.Xmodmap
).fuente
xmodmap .Xmodmap
En Mint 17/18, puedo lograr que coloque mis scripts en la Aplicación de inicio, con 1 segundo de retraso.
Como Mint 18 se deriva de Ubuntu 1604, creo que puede hacer lo mismo o instalar el panel de administración de la aplicación de inicio primero si no está allí.
Espero eso ayude.
fuente
No estaba muy contento con ninguna de las sugerencias anteriores (la opción .bashrc no era realmente viable ya que ejecuta xmodmap en cada nueva terminal)
Toqué un script llamado
xmodstartup.sh
en mi carpeta de iniciocon eso salvado, entonces lo hice
sudo chmod +x xmodstartup.sh
luego simplemente agregué el archivo ejecutable a la ventana "preferencias de la aplicación de inicio" de gnome. bish bosh, diseño en inglés y español en
altgr
:)fuente
Poner xmodmap cambia
~/.bashrc
o/etc/bash.bashrc
no rompe nada.El único inconveniente es que uno tiene que abrir un terminal después de cada arranque para activarlo.
fuente