Por lo general, cargo una nueva versión para cada versión para mantener mi sistema operativo actualizado y al mismo tiempo preservar la última versión en otra partición como copia de seguridad. También utilizo muchas asignaciones de teclas personalizadas.
Hasta ahora he descubierto cómo transferir la mayoría de mi configuración a través de los sistemas, pero no puedo entender dónde se almacenan las asignaciones de atajos de teclado personalizados.
¿Alguien sabe dónde pone estos gnomos? ¿Hay archivos separados de configuración de usuario (es decir, ~ /) y de configuración del sistema (es decir, / etc)?
backup
keyboard-layout
Evan Plaice
fuente
fuente
gconftool-2 --dump /apps/metacity
o algo así.Respuestas:
Ubuntu ha cambiado desde que se escribieron otras respuestas a esta pregunta.
Las combinaciones de teclas se han movido de gconf a dconf. Gconf almacena sus datos en archivos xml y fue accedido por
gconf-editor
ygconf-tool2
. Dconf almacena sus datos en formato binario y se accede pordconf-editor
ygsettings
.Se reduce el número de lugares donde se almacenan las combinaciones de teclas. Ahora hay una ruta dconf centralizada para almacenar las combinaciones de teclas del administrador de ventanas (
org.gnome.desktop.wm.keybindings
). Hay archivos de mapeo en el directorio/usr/share/gnome-control-center/keybindings/
que muestran cómo se aplican según el administrador de ventanas que está utilizando (compiz o metacity).Un segundo conjunto de enlaces de teclas no relacionados con el administrador de ventanas se almacena en la ruta dconf
org.gnome.settings-daemon.plugins.media-keys
Hay un tercer conjunto de combinaciones de teclas relacionadas con los botones de encendido que se almacena en la ruta dconf
org.gnome.settings-daemon.plugins.power
. Actualmente hay un error en la GUI que le permite configurar la combinación de teclas. No sabe acerca de estas configuraciones. Tengo un botón "dormir" en mi teclado. Si quiero reasignarlo a otra funcionalidad, tengo que deshabilitar la configuraciónorg.gnome.settings-daemon.plugins.power
manualmente. La GUI no lo hace por mí (aunque asigna la nueva funcionalidad muy bien).La otra arruga son las combinaciones de teclas personalizadas. Estos se almacenan en dconf utilizando un esquema reubicable. Se hace de esta manera porque hay un número arbitrario de ellos. Un enfoque razonable, pero hace que enumerarlos o modificarlos a través de la línea de comando sea más difícil de lo que debería ser.
También descubrí que la GUI que le permite asignar combinaciones de teclas está limitada de una manera que me molesta. La GUI permite que se asigne exactamente UNA combinación de teclas a cada acción. En dconf, puede establecer una matriz de enlaces para una sola acción. Esto me es útil. Por ejemplo, me gusta tener la acción "cerrar ventana" asignada al Alt-F4 tradicional, así como a un solo botón más fácil de presionar en mi teclado.
He escrito un script de Perl para volcar todas las combinaciones de teclas en un archivo csv, o restaurarlas desde el archivo csv. Por ejemplo, para volcar las combinaciones de teclas que podría usar:
./keybindings.pl -e /tmp/keys.csv
y para restaurarlos puedes usar:
./keybindings.pl -i /tmp/keys.csv
Esto incluye la corrección por user2589537 para permitir comandos personalizados con comillas.
fuente
[org/mate/marco/global-keybindings]
,[org/mate/marco/window-keybindings]
, ...)Cómo hacer una copia de seguridad de la configuración de dconf como atajos de teclado
Volcarlos a todos en un archivo:
Abra ese archivo en un editor de texto y seleccione la configuración que le interesa:
Si usa Vim, querrá este resaltado de sintaxis .
Pronto te preguntarás qué es
<Primary>
.Si no conoce el nombre de la configuración, pero sabe cómo modificarlo desde una GUI como
unity-control-center
, ejecute:y luego modificarlos. La configuración exacta aparecerá en el terminal.
Cuando desee restaurar esa configuración, ejecute:
Git rastrea el archivo de configuración para nunca perderlo. https://github.com/andsens/homeshick es mi método favorito actual.
Probado en Ubuntu 15.10. Consejo adaptado de: http://catern.com/2014/12/21/plain-text-configuration-gnome.html
Desafortunadamente, el terminal Gnome es resistente a tales ediciones debido a las identificaciones de perfil impredecibles: edite el perfil del terminal Gnome desde la línea de comandos el 18.04
fuente
Los atajos de teclado no se almacenan en un solo lugar
Dependiendo de su versión de distribución, la aplicación de atajos de teclado puede llamarse cosas diferentes en la GUI, pero en la línea de comando debería llamarse 'gnome-keybinding-properties'. Resulta que esta pequeña aplicación ordenada trae todos los accesos directos en un lugar conveniente para que los usuarios editen.
Como no existe una herramienta de exportación / importación con un solo clic para las combinaciones de teclas en Ubuntu, escribí una en python:
Aquí hay un enlace al guión
Una exportación extrae la configuración del sistema. Esencialmente contiene una lista de todas las ubicaciones de combinación de teclas está codificada en un diccionario en el script. El script emula la lista y ejecuta el comando "gconftool-2 --get [location]" para cada clave y almacena el valor en el diccionario junto con la clave. Luego, cuando especifica la ubicación para guardar la configuración, guarda el diccionario en el archivo en formato json.
Un script de importación invierte este proceso. Carga el diccionario del archivo json. Luego enumera a través de estos y ejecuta el comando "gconftool-2 --type string --set [location] [value]" para restaurar todas las configuraciones guardadas.
Un disparo en cada extremo y guarda / restaura cada atajo de teclado sin tocar ninguna de las otras configuraciones del sistema.
Las únicas dependencias para estos scripts son:
Se necesita Python para ejecutar el script, se usa gconftool-2 para obtener / establecer la configuración, se necesita zenity para los diálogos de GUI de carga / guardado de archivos.
He creado una entrada en Ubuntu Brainstorm y estoy progresando para que esta característica se introduzca en el menú GUI 'gnome-keybinding-properties'.
Actualizar:
Actualicé los scripts de importación y exportación combinados en uno, agregué la funcionalidad completa de la línea de comandos (incluida --help info) y lo hice compatible tanto para python2x como para python3k. Además, agregó el enlace a la idea de Ubuntu Brainstorm.
fuente
gnome-keybinding-properties
y publiques un parche con tu script.Keyboard Shortcuts
ej.gnome-keybinding-properties
... ni otras combinaciones de teclas agregadas por, por ejemploXbindkeys
... así que sospecho que gconf 'no es donde están almacenados los atajos de todo el sistema, sino que es una interfaz para algo / en algún lugar más profundo ... (I He estado buscando ese lugar .. :). tal vez solo necesito mantener 3 listas 'exportadas' por ahora ...En 11.10 ejecutando Gnome classic encontré un conjunto de directorios (Custom0, Custom1 ...) en
Copié esos directorios en la misma carpeta en una instalación limpia 12.04 (nuevamente ejecutándose con Gnome fallback), cerré la sesión y volví a iniciar sesión. Las combinaciones de teclas se enredaron un poco en la transición (algo extraño le sucedió al modificador SUPER), pero de lo contrario estaban allí.
fuente
Hay un pequeño problema con la respuesta aceptada, ya que no puede manejar comandos personalizados con comillas. Solo cambié el procesamiento de comandos personalizados para generar la salida correcta.
fuente