Aplicar cambios a un (Ukelele) .keylayout sin volver a iniciar sesión en OS X

Aplicar cambios a un (Ukelele) .keylayout sin volver a iniciar sesión en OS X

El desarrollador de Ukelele (John Brownie) en el sitio web:

En segundo lugar, si tienes una distribución de teclado activa, modifícala (en Ukelele o de cualquier otra forma), guárdala, luego cierra sesión y vuelve a iniciar sesión, el sistema no cargará la nueva versión. Debe modificar la carpeta que contiene la distribución del teclado para que el sistema reconozca el cambio. La forma más sencilla es arrastrar el archivo de distribución del teclado al escritorio y luego volver a la carpeta Distribuciones del teclado, luego cerrar sesión y volver a iniciarla. Al reiniciar siempre se cargará la versión más reciente de la distribución del teclado.

¿Algún método más sensato?


Entonces parece que lo más probable es que no. Sin embargo, aquí hay una manera de automatizarlo parcialmente con Applescript:


do shell script "touch '/Library/Keyboard Layouts/'"
tell application "System Events"
    try
        tell process "Ukelele"
            click menu bar 1's menu bar item "File"'s menu 1's menu item "Save"
        end tell
    end try
    log out
end tell

Respuesta1

Lo sentimos, pero no hay mucho mejor que se pueda hacer. La distribución del teclado solo se escanea al iniciar sesión y, si no reinicia, el sistema optimiza el proceso escaneando solo las carpetas que han cambiado desde el último inicio de sesión, verificando la fecha de modificación de la carpeta.

La única otra forma que se me ocurre para automatizar esto es tener una secuencia de comandos que cambie la fecha de modificación de la carpeta relevante; una secuencia de comandos de shell que llame 'touch' funcionaría (ver más abajo). Entonces podría tener una forma más sencilla de realizar el cambio (en lugar de arrastrar archivos dentro y fuera), pero aún así tendría que cerrar sesión e iniciar sesión. No conozco ningún atajo para cerrar sesión, aparte de presionar la opción- comando-shift-Q. No he visto una manera de escribirlo.

Script para cambiar la fecha de modificación de la carpeta Diseños de teclado en la carpeta Biblioteca:

#!/bin/sh
touch /Library/Keyboard\ Layouts

información relacionada