Eu não posso canalizar saída de terminal para arquivo

0

Enquanto o terminal gnome mostra a saída do comando abaixo, ele não canaliza para o arquivo de texto

 xinput test 5 

mostra a saída no terminal, mas

 xinput test 5 >> text.txt 

não canaliza para o arquivo

EDITAR:

"xinput test 5" mostra os códigos principais do teclado virtual. Posso ver a saída no terminal com "xinput test 5" mas não com "xinput test 5 > > text.txt

Ele mostra códigos de tecla a bordo.

EDIT2:

Eu quero gravar pressionamentos de tecla de "onboard" para arquivar "xinput test 5" mostra os IDs de pressionamento de tecla no terminal, mas não o salva no arquivo "xinput test 5 > > text.txt" e também evita a exibição de IDs de pressionamento de tecla no terminal. "O teste xinput 5 2 > > text.txt" mostra a saída no terminal, mas não o canaliza para o arquivo de texto.

EDIT3:

Você pode encontrar o ID do teclado virtual com "xinput list" É interessante ver a saída no terminal com "xinput test 5", mas não com "xinput test 5 > > text.txt

    
por kenn 23.12.2013 / 11:14

3 respostas

2

A saída é armazenada em buffer, de modo que nada vai para o arquivo até que o gravador (xinput) o liberte.
Para forçar a saída sem buffer, você pode usar

stdbuf -o0 xinput test 5 >out
    
por enzotib 23.12.2013 / 12:33
3

Estranhamente, o redirecionamento funciona normalmente (acabei de testar isso com meu mouse) ... Parece ser um problema específico do dispositivo virtual.

Bem, este foi um problema muito maior e mais estranho do que eu pensava inicialmente. A resposta curta é: está em buffer e quando você Control + C, esse buffer é perdido . Agora, eu não tenho nenhuma ideia porque ele está sendo armazenado em buffer para o dispositivo virtual e não para os físicos ... Isso está acima da minha nota salarial.

Como contornar isso é bem simples (novamente de Stephane Chazelas em Unix & Linux ):

stdbuf -oL xinput test 5 > test

E o motivo pelo qual você estava vendo alguma saída é porque o teclado virtual grava na janela ativa (como faria um teclado físico).

    
por Oli 23.12.2013 / 12:04
0

Tente isso,

xinput test 5 > text.txt
    
por Avinash Raj 23.12.2013 / 11:17