Atalho de teclado personalizado para emitir o comando bash na janela do terminal atual

0

Eu sei que posso criar atalhos de teclado personalizados em System Settings > Keyboard > Shortcuts > Custom Shortcuts . Como eu criaria um atalho de teclado personalizado para emitir um comando bash em uma janela de terminal em que estou atualmente? Por exemplo, echo "something" .

Estou usando o terminador.

    
por lsimmons 20.08.2017 / 01:21

1 resposta

1

A seguinte resposta é copiada de uma resposta para isto pergunta, e explica como criar um costume atalho de teclado em qualquer lugar, o que naturalmente também funcionará em um terminal. Estou postando a solução que funcionou bem para mim - por favor, confira a pergunta vinculada para outras alternativas. Todo o crédito vai para o autor original Seth .

xbindkeys ..

sudo apt-get install xbindkeys

O Xbindkeys é um programa muito versátil que permite remapear as teclas com muita facilidade. Ele usa um arquivo de configuração, meu padrão localizado em seu diretório inicial, para alterar as combinações de teclas em determinados comandos.

Para criar um arquivo de configuração padrão, use o comando:

xbindkeys --defaults

Que imprime o arquivo de configuração padrão. Então, se você quiser criar o arquivo contendo os valores padrão que você usaria:

xbindkeys --defaults > $HOME/.xbindkeysrc

Que imprime os valores padrão em um arquivo oculto chamado .xbindkeysrc localizado em home ( ~ ).

Agora, para realmente alterar as ligações de chaves, primeiro precisamos saber qual é o nome ou o keysym dessas chaves. xbindkeys nos permite usar o identificador -k para encontrar o nome de uma chave ou combinação de teclas. Executar:

xbindkeys -k

E pressione uma tecla ou combinação de teclas. Sua saída irá parecer algo similar a esta (quando pressionar espaço ):

"NoCommand"
m:0x10 + c:65
Mod2 + space

"No Command" nos informa que atualmente nenhum comando está associado à tecla Espaço .

m:0x10 + c:65
Mod2 + space  

É o nome da combinação de teclas / chaves.

o arquivo de configuração ..

Vamos abrir o arquivo de configuração que você criou anteriormente:

gedit .xbindkeysrc  

Aqui está um trecho do arquivo de configuração padrão:

#
# A list of keys is in /usr/include/X11/keysym.h and in
# /usr/include/X11/keysymdef.h
# The XK_ is not needed.
#
# List of modifier:
#   Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock),
#   Mod3 (CapsLock), Mod4, Mod5 (Scroll). 
#

# The release modifier is not a standard X modifier, but you can  
# use it if you want to catch release events instead of press events

# By defaults, xbindkeys does not pay attention with the modifiers
# NumLock, CapsLock and ScrollLock.
# Uncomment the lines above if you want to pay attention to them.

#keystate_numlock = enable
#keystate_capslock = enable
#keystate_scrolllock= enable

# Examples of commands:

"xbindkeys_show" 
 control+shift + q  

Cada linha que começa com # é um comentário e não será lida ou executada por xbindkeys .

Até agora, a única linha que não está comentada é:

"xbindkeys_show" 
 control+shift + q  

Este trecho mostra a sintaxe básica dos comandos xbindkeys :

"Command to run (in quotes)"
key to associate with command (no quotes)  

Então, como você pode ver:

"xbindkeys_show" 
 control+shift + q  

Executa o comando xbindkeys_show quando você pressiona Ctrl + Desloca + q .

vincular chaves a comandos ..

Agora vamos tentar ligar algumas teclas. Eu recomendo limpar todo o arquivo padrão para que fique em branco. Ele contém ligações de teclas predefinidas que você provavelmente não deseja.

Agora vamos dizer que você quer usar Ctrl + b para abrir seu navegador. Primeiro você precisa saber o que é o nome ou keysym de Ctrl + b . Como mencionado anteriormente, você pode usar xbindkeys -k para encontrar o nome de uma chave ou chaves, mas existe uma maneira mais fácil. Para combinações simples como Ctrl + b você pode usar:

Control+b

Muito mais fácil, não é?

Agora encontre o comando do seu navegador favorito:

  • Para o Firefox: firefox

  • Para o Chromium: chromium-browser

  • Para o Opera: opera

Lembre-se da sintaxe anterior? O comando xbindkeys para iniciar o Firefox (ou seu outro navegador favorito) quando você pressionar Ctrl + b é:

"firefox"
Control+b

Agora coloque isso no seu arquivo de configuração e salve-o. Agora você pode notar que seu comando ainda não funciona, porque xbindkeys não está em execução. Para iniciá-lo, basta executar xbindkeys de um terminal. Sua Ctrl + b deve iniciar seu navegador agora!

    
por Joakim 20.08.2017 / 12:20