ubuntu: redirecionando o comando ssh para o xterm existente

0

Este comando executa remotamente em "nome da máquina" o comando "glxgears" em um novo terminal xterm:

xterm -hold -e sshpass -p <password> ssh -X -o StrictHostKeyChecking=no <user name>@<machine name> glxgears

O que eu gostaria de fazer é iniciar outros comandos ssh remotos em "nome da máquina" que rodariam no mesmo xterm (aquele em que o glxgears já está rodando).

Isso parece ser possível, como os seguintes trabalhos:

se eu digitar

w

Eu vejo esta linha:

<username>  pts/37   :0               12:41    3:30   0.00s  0.00s sshpass -p zzzzzzzzzz ssh -X -o StrictHostKeyChecking=no <user name>@<machine name> glxgears

e

echo "test" > /dev/pts/37

imprime "teste" no xterm "glxgear" em execução.

Mas:

xterm -hold -e sshpass -p <passwd> ssh -X -o StrictHostKeyChecking=no <username>@<machine name> echo "test" > /dev/pts/37

imprima "teste" em um novo xterm.

Eu acho que o comando 'echo "test" > / dev / pts / 37 'é executado em "nome da máquina" em vez de "echo" "" sendo executado em "nome da máquina" e redirecionado para / pts / 37 na máquina cliente.

Qual seria a sintaxe correta?

    
por Vince 08.08.2016 / 12:52

1 resposta

3

O comando inteiro a ser executado remotamente, incluindo o redirecionamento, precisaria ser citado para evitar que o operador de redirecionamento seja consumido pelo shell local:

ssh -X -o StrictHostKeyChecking=no <username>@<machine name> "echo 'test' > /dev/pts/37"
    
por 08.08.2016 / 14:33