Escrevendo (“injetando”) texto no terminal Ubuntu existente

2

Dado o nome de um terminal já em execução ( gnome-terminal maybe?), existe uma maneira de escrever texto nele a partir de outro programa?

Estou basicamente procurando uma maneira de começar a compilação a partir de um editor de texto.

    
por user1071136 09.11.2013 / 00:48

1 resposta

4

Se você não tiver, instale xwininfo (no pacote x11-utils) e xvkbd :

sudo apt-get install x11-utils
sudo apt-get install xvkbd

Em seguida, encontre o ID da janela da sua janela "vítima":

xwininfo

o cursor se torna uma cruz --- clique na janela do gnome-terminal onde você deseja injetar o texto. Entre as informações, copie o ID da janela:

xwininfo: Please select the window about which you
      would like information by clicking the
      mouse in that window.

xwininfo: Window id: 0x1a005be "romano@samsung-romano: ~"
[...]

Agora, a partir de outro terminal, você pode inserir caracteres:

(0)samsung-romano:~% xvkbd -window 0x1a005be -text "ls -l\n"

(Lembre-se do \n se você quiser que o comando seja executado).

Há mais maneiras de identificar a janela --- veja a página man do xvkbd . Um dos métodos é usar a propriedade "class" do XWindows. Você pode executar um terminal com um nome de classe específico de sua escolha, por exemplo:

xterm -class alfa & 

e depois injetar via

xvkbd -window alfa -text "ls -l\n" 

(Eu usei xterm aqui, não consegui fazer isso com gnome-terminal --- não sei por que).

    
por Rmano 09.11.2013 / 01:10