Associando teclas a comandos, tarefas ou aplicativos... com toda facilidade

Este artigo descreve um procedimento fácil e gráfico, para associar teclas ou combinações de teclas a comandos, tarefas ou aplicativos. Esse método faz uso dos pacotes XBindKeys e sua interface gráfica, XBindKeys-Config.

[ Hits: 18.911 ]

Por: Alberto Federman Neto. em 04/06/2014 | Blog: https://ciencialivre.blog/


Configuração, uso e exemplos



Vamos ver um exemplo, para você entender como se usa. Suponha que você queira associar seu navegador Firefox à tecla F7, de modo que, ao apertar F7, isso abra seu Firefox.
Linux: Associando teclas a comandos, tarefas ou aplicativos... com toda facilidade
Embaixo:
  • Clique em: New
  • À direita, clique na linha em: Name
  • E escreva o nome: Firefox
  • Agora, clique em: Get Key
  • E aperte: F7
  • Em Command, escreva: firefox
  • E clique em: Apply

Repita esse procedimento para cada comando ou aplicativo que você quiser associar a uma tecla ou combinação de teclas. Colocada cada tecla e comando, clique novamente em Apply.

A qualquer momento, se você quiser checar se seu comando está funcionando, clique em Run Action.

Em um outro exemplo bem simples, você quer associar F6 ao seu editor de texto em modo root. Em Get Key, use F6 e no comando, use gksu gedit.

No meu caso, a tecla F6 está associada ao comando kdesu konsole, comando esse que abre com sudo gráfico, um terminal já em root.

Guiando-se por esses exemplos, acredito que você não terá dificuldade para associar suas teclas. Ao menos com aplicativos simples. Eu uso muito teclas únicas e teclas de função, mas nada impede que você use combinações de teclas.

Mas, veja que também comandos típicos de GNU/Linux, como sudo ou mesmo comandos mais complexos, podem ser associados.

Outro exemplo, a tecla Sleep do meu teclado multimídia, foi associada a um comando para fechar a sessão. O comando completo (que deve ser colocado em Command) é:

konsole -e bash -c 'sudo pkill -9 -v albfneto && exit; exec bash'

Isto é:
  • konsole é o terminal Konsole;
  • -e, de Exec;
  • -c de Command;
  • sudo pkill -9 -v albfneto, é o comando que fecha a sessão, complementado por:
  • && exit, que vai fazer com que ao fechar a sessão, o terminal encerre a execução e feche.
  • O exec bash faz o comando seu executado no Shell bash.

Para facilitar para você, mais alguns exemplos explicativos.

Suponha que você queira colocar a tecla F10 para que ela abra um terminal, peça a sua senha do sudo, atualize os repositórios do seu Ubuntu, ou Kubuntu, e depois finalize a execução e feche o terminal:
  • Clique em: New
  • Coloque em Name: Atualiza Repositórios
  • Clique em Get Key e aperte F10.

A sintaxe que você precisa colocar na linha Command, seria isto:

NOME -e bash -c 'sudo apt-get update && exit; exec bash'

Onde:
  • NOME é o seu aplicativo de terminal (konsole, no Kubuntu | gnome-terminal, no Ubuntu);
  • -e bash, significa: "vai executar em shell tipo bash";
  • -c significa: command;
  • sudo apt-get update, comando para "pedir senha do sudo e atualizar os repositórios";
  • &&, o comando vai executar e após terminar o comando seguinte é executado;
  • exit, comando que fecha o konsole ou gnome-terminal;
  • exec bash, significa algo como "executar todo o conjunto de instruções no bash".

Portanto, se desejar que o terminal fique aberto após a execução de apt-get update, simplesmente remova o trecho: && exit

Salvando suas configurações

Agora, suponha que você terminou todas as suas atribuições de teclas. Precisa salvar:
  • Clique na aba de cima: File
  • E em: Save to Default File

NÃO CLIQUE em Open Default File (se fizer isso, vai voltar ao arquivo padrão e perderá todas as suas edições).

Outro jeito de salvar:

Se você não quiser sobrescrever o arquivo padrão, na aba File, escolha Save As. Dê um nome, por exemplo xbindkeysrc.novo.

Isso mantém o arquivo padrão .xbindkeyrc.

Agora, precisa renomear o padrão para protegê-lo e ativar o seu arquivo modificado de XBindKeys. Execute estes comandos:

cd /
$ cd ~/
$ sudo mv .xbindkeysrc xbindkeysrc.original
$ sudo mv xbindkeysrc.novo .xbindkeysrc


Ativando XBindKeys

O pacote xbindkeys precisa estar rodando para funcionar. Você pode iniciar quando quiser, com o comando:

xbindkeys -n -V

E suas associações de teclas só funcionarão quando você quiser. Você também pode fazer um atalho no Desktop, por exemplo. Ou coloque para rodar, automaticamente.

Isso pode ser feito de vários jeitos. Por exemplo, colocando para rodar junto com a interface gráfica:

No KDE, por exemplo, em Menu K, procurar por Iniciar Automaticamente.

Outro jeito, você pode colocar em alguma pasta de execução automática. Eu costumo colocar diretamente no bash. Para fazê-lo, edite seu arquivo de configuração do bash:

sudo kwrite ~/.bash

E coloque nele esta linha (vai fazê-lo iniciar e ficar residente em memória - para não ficar residente, use a opção -n):

xbindkeys

Feito isso, suas associações de teclas, já estarão funcionando.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução e instalação
   2. Configuração, uso e exemplos
   3. Complementos
Outros artigos deste autor

Experimentos com GNOME3 em instalações contendo outros ambientes gráficos

Use o GAG e nunca mais perca o boot

Sabayon Linux remasterizado para placas de vídeo ATI

Ajustando a hora do micro com extrema precisão

Fish - Um shell fácil de usar

Leitura recomendada

OpenVPN + Bridge no Ubuntu Server

Converter VMs GNU/Linux XenServer (paravirtualizada) para VMware ESXi 5

Instalando o Postfix no Slackware

Instalar o Slackware 14.1 em drive USB

Migrando de Red Hat para Debian

  
Comentários
[1] Comentário enviado por mcnd2 em 05/06/2014 - 20:33h

10zão!

Me tire uma dúvida Alberto.

O XBindKeys poderá ser aplicado em qualquer interface gráfica ou só apenas no KDE e Gnome?

Uma mão na roda, ou melhor no teclado, para aqueles que querem atalhos em algumas determinadas funções a um determinado programa de uso constante.

"Uma "Moleza" para o iniciante e uma praticidade para o "Dinossauro Preguiçoso"! "

Ótima contribuição.

[2] Comentário enviado por albfneto em 05/06/2014 - 22:12h

Que eu saiba, funciona em qualquer uma. tem dependências de GTK, mas ele baixa, ao instalar.
existe nos repositórios de várias distros.

[3] Comentário enviado por serph em 06/06/2014 - 09:04h

Ótimo artigo seu neto.
Mas me diga, como faço para associar a tecla SUPER para abrir e fechar o menu do xfce e ALT+F4 para fechar as janelas?
Os dois comandos em um Xubuntu 14.04 64bits.

[4] Comentário enviado por albfneto em 06/06/2014 - 10:20h

@Serph

No meu caso a tecla super está associada a um gerenciadorde arquivos completo para KDE, chamado Krusader.
No caso da tecla Super,que é tecla windows,quando vc faz a associação, ele "pega" a outra tecla super automático (Super+MOD4) (pelo menos no meu teclado multimídia Satellite), associa das duas, automatico e tem de apertar as duas ao mesmo tempo.
não consegui com tecla única.

o executável de menu do XFCE se chama xfce4-popup-applicationsmenu (tente isso na linha comando), para associar, apretar uma das teclas Super, se tiver outra acho que ele associará as duas, auto,como no meu teclado.

nos xfces antigos era xfce4-popup-menu.
Mas talvez vc possa no próprio configurador de teclas do XFCE.

Detalhes:
https://bbs.archlinux.org/viewtopic.php?pid=1223684#p1223684

No caso do ALT+F4, primeiro dê uma olhada no configurador das teclas do XFCE, pq acho, vc precisa antes desligar o ALT+F4, porque acho que por padrão é associado ao fechamento do menu todo.

Como todos os configuradores de tecla, claro que se existirem outras associações, de outros programas, vão conflitar. Porssi que eue prefiro rodar o xbindkeys de um talho no Desktop, por exemplo, quando uso o aplicativo HTOP, a minha associação normal dele, tecla F6, sort, deixa d efuncionar se meu xbindkeys estiver rodando




[5] Comentário enviado por removido em 10/06/2014 - 21:02h

Muito bom, exatamente o que eu tava precisando!

Mas me diga uma coisa, por gentileza: onde eu acho o Xbindkeys-config? Na página oficial do Xbindkeys não tem a interface gráfica e minha distro não tem o pack também, só o de linha de comando...

Não que eu não goste da linha de comando, longe disso, eu uso bastante, mas é só que não acho o aplicativo gráfico.

[6] Comentário enviado por px em 10/06/2014 - 21:02h

Parabéns albfneto... como sempre dando um show pelo vol! to meio parado com o linux pela correria que me encontro mais quando usava o openbox ele já tinha vários arquivinhos para personalizar-se seus os atalhos... o mesmo vale para o LXDE que usa o openbox por baixo e facilita a configuração para quem quer clareza e rapidez sem a encheção de saco de ficar catando arquivos por ai kkkk (pior q eu gosto mesmo é de configurar tudo até modulo sou metido a cutucar xD).

Abçs à todos ai! em breve quando tiver com mais tempo e calma aq, vou reinstalar um linux e voltarei a colaborar mais com o fórum.

[7] Comentário enviado por albfneto em 11/06/2014 - 12:01h

@Sidini

que distro é? Ubuntu e Debian tem:

http://www.epiguru.com/2012/06/how-to-create-keybindings-on-linux-with-xbindkeys-and-xvkbd/
https://help.ubuntu.com/community/KeyboardShortcuts
https://packages.debian.org/sid/xbindkeys-config

Para slackware:

http://slackbuilds.org/repository/14.0/system/xbindkeys/

Arch tb tem, se chama xbindkeys_config no Arch, no aur.


porque quando a distro não tem essa interface gráfica , outras interfaces gráficas para o xBindKeys são:

XBindKeys Lazconf:

http://scripts.filehungry.com/product/development/user_interfaces/xbindkeys_lazconfig/

e xvkconfp:

http://s4x.sourceforge.net/

em todo caso, eis o fonte do xbindkeys-config:

https://github.com/pschmitt/xbindkeys-config">https://github.com/pschmitt/xbindkeys-config

vc pode baixar e compilar, na dúvida, mande um email pro desenvolvedor, Philipp Schmitt>

https://github.com/pschmitt



fonte do xbindkeys, própriamente dito:

http://www.nongnu.org/xbindkeys/xbindkeys.html
http://freecode.com/projects/xbindkeys

[8] Comentário enviado por removido em 11/06/2014 - 12:46h

@albfneto

Putz, que mancada! Esqueci o mais importante: dizer que uso a distro "Slitaz". (meu PC não é lá grande coisa, e essa distro funciona bem nele)

Mais uma vez, muito obrigado por sua ajuda! Vou procurar nas fontes indicadas acima :D

[9] Comentário enviado por noisnon em 19/06/2014 - 22:46h

Linux é um grande e um bom canivete suiço para uns pode-se criar também atalhos no openbox no arq. menu.xml e personalizando com conky e vista em detalhes no desktop e serve para muitas distribuiçôes.
Mas com xkbinds é uma ótima pedida!VOL!


Contribuir com comentário