¿Cómo configurar atajos de teclado personalizados desde el terminal para diferentes versiones de Linux?
Básicamente, quiero saber dónde almacena Linux los archivos de acceso directo del teclado y cómo se puede editar.
En mi investigación encontré un archivo ~/.config/compiz-1/compizconfig
pero estaba más o menos encriptado cuando intenté abrirlo nano
.
command-line
keyboard
shortcut-keys
Ornitorrinco anónimo
fuente
fuente
Respuestas:
Agregar combinaciones de teclas de acceso directo en dos pasos desde la línea de comandos (14.04+)
Se puede agregar accesos directos personalizados desde la línea de comandos, pero es un poco complicado; debe hacerse en unos pocos pasos por combinación de teclas. Por otro lado, es bastante sencillo y puede ser programado si de alguna manera quieres hacerlo desde la línea de comandos (esa era la pregunta, ¿verdad?).
Al igual que en su interfaz (Configuración del sistema> "Teclado"> "Atajos"> "Atajos personalizados"), los atajos de teclado personalizados se realizan desde la línea de comandos en dos pasos:
cree la combinación de teclas editando (agregando a-) la lista que devuelve el comando:
La lista devuelta se ve así (si solo fuera un acceso directo actualmente):
Aplique la lista editada por el comando:
(cuenta las comillas dobles)
NB No es necesario decir que la mención en la lista (por ejemplo
custom1
,custom2
) debería ser única. Si lo escribe, el script debe evitar duplicados. En este caso, la lista editada debería verse, por ejemplo:para agregar una combinación de teclas:
custom1
establecer sus propiedades:
nombre:
mando:
Combinación de teclas (por ejemplo
<Primary><Alt>g
):Puede encontrar información útil aquí.
Script de ejemplo para establecer un nuevo acceso directo personalizado
El siguiente script se puede usar para establecer una nueva combinación de teclas de acceso directo desde la línea de comandos. Se puede usar con el comando (suponiendo que la combinación de teclas esté disponible):
Un ejemplo:
Para establecer una combinación de teclas de acceso directo para abrir
gedit
con la combinación de teclas Alt+ 7:La secuencia de comandos:
Cómo utilizar:
Pegue el script en un archivo vacío, guárdelo como
set_customshortcut.py
, ejecútelo como se explicó anteriormente.Algunas de las menciones clave más utilizadas (encontradas experimentalmente, analizando los cambios que la GUI realizó en el valor de enlace):
etc.
fuente
custom-keybinding
no debe contener "s" al final cuando está dentro de un esquema. Pero, debe contener "s" cuando actúa como clave o en la ruta. De lo contrario, el comando "set" arrojará una excepción. Por lo tanto, elimine la "s" decustom-keybinding
en el esquema. Además, tu script de Python también debería actualizarse.gsettings
devuelve@as []
lo que no evalúa.Hay una forma simple de hacerlo usando
dconf
:Utilizando
gsettings
:Necesita aumentar el número en la
custom0
parte para agregar más enlaces, es decir.custom1
,custom2
etc.Para hacerlo permanente, simplemente agréguelo
.bash_profile
o un script similar que se ejecute mediante shells de inicio de sesión. Eso sí, no lo haga por conchas de no ingreso.bashrc
porque a partir de mi experiencia éstosdconf
ygsettings
reducir la velocidad considerablemente. ¡Cambiar / agregar 30 enlaces toma un segundo! ¡No quieres esto en el shell sin inicio de sesión (.bashrc
)!fuente
custom0
a la lista de accesos directos personalizados, por ejemplo, congsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['.../custom1/']"
. No lo sedconf
.dconf dump DIR
para volcar un subpath completo a stdout. La salida está en un formato similar a un archivo de claves, con valores en sintaxis GVariant.Todos los ajustes personalizados de atajos de teclado se almacenan en la base de datos dconf.
Puede acceder fácilmente a ellos con
dconf-editor
:Luego vaya a la siguiente ruta dconf en el editor:
fuente
Agregar combinaciones de teclas de acceso directo desde la línea de comando en 12.04
Para evitar que la respuesta aceptada sea demasiado extensa, publique una solución separada para 12.04.
Hasta (e incluyendo) 12.04, las combinaciones de teclas personalizadas no se almacenan en la
dconf
base de datos, sino en~/.gconf/desktop/gnome/keybindings
(en un archivo xml, en subcarpetas comocustom0
etc.).El siguiente script crea el
xml
archivo y su carpeta de contacto, automáticamente nombrado correctamente.Cómo utilizar
set_customshortcuts_12.py
Ejecútelo con el comando:
key3
es opcional, los comandos pueden ser, por ejemplo:o
Notas
fuente
Puede establecer un nuevo acceso directo personalizado sin un script de Python, utilizando sed. Solo tiene que establecer el nombre , el enlace y la acción a su elección en el siguiente script:
fuente
Escribió un guión para eso. Vea abajo.
Ver el uso en la
creatShortcut
invocación.fuente
La respuesta publicada por @JacobVlijm me pareció muy útil, especialmente el guión. Porté el código a
bash
. No creo que esta función sea perfecta, puede contener algunos errores, sin embargo, funciona para mí.fuente