Estou tentando inserir as teclas digitadas no daemon de entrada para simular a digitação de um script Bash. Isso é possível? Em caso afirmativo, como posso fazer isso acontecer?
linux
shell-script
keyboard
input
Naftuli Kay
fonte
fonte
Respostas:
Se você estiver operando no nível X (como na pergunta de Gilles), use o xdotool da seguinte forma:
Onde KEYSTROKE_SPECIFIER pode ser algo como "a" ou "F2" ou "control + j"
EDIT: Perdi sua resposta à pergunta de Gilles, desculpe. Deixarei essa resposta aqui como uma solução para o caso X.
fonte
xte
opera no mesmo nível.Use o
uinput
driver. Não acho que exista utilidade para isso; você precisará escrever ou adaptar um pouco de código C. Em poucas palavras:Referências mais completas:
fonte
Se você NÃO está trabalhando com programas X com janelas que podem receber chaves, provavelmente está procurando
expect
um programa prático e muito configurável para executar outros programas shell interativos, como se um usuário estivesse controlando o terminal. Você pode configurar respostas programáticas para responder a várias saídas com entradas diferentes.fonte
Eu escrevi algum código Python que faz isso. Você pode encontrá-lo no meu projeto de código aberto.
http://code.google.com/p/pycopia/source/browse/trunk/core/pycopia/OS/Linux/event.py
Se você executar esse módulo como um script como root, poderá ver uma demonstração em ação.
Essa funcionalidade básica foi estendida para outro projeto, o powerdroid, que fornece uma implementação mais concreta para um sistema incorporado (Android).
http://code.google.com/p/powerdroid/source/browse/trunk/src/droid/devices.py
fonte