ubuntu: Umleitung des SSH-Befehls auf ein vorhandenes Xterm

432
Vince

Dieser Befehl führt remote auf "Computername" den Befehl "glxgears" auf einem neuen Xterm-Terminal aus:

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

Was ich gerne tun würde, ist das Starten anderer Remote-SSH-Befehle auf "Maschinenname", die vom selben Xterm ausgeführt werden (der eine glxgears läuft bereits).

Das scheint möglich zu sein, da die folgenden Arbeiten funktionieren:

wenn ich tippe

w 

Ich sehe diese Zeile:

<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 

und

echo "test" > /dev/pts/37 

druckt "test" im xterm "glxgear" läuft.

Aber:

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

druck "test" in einem neuen xterm.

Ich schätze, der Befehl "echo" test "> / dev / pts / 37" wird unter "Maschinenname" ausgeführt und nicht unter "Echo" test "" unter "Maschinenname" und auf / pts / 37 auf dem Clientcomputer umgeleitet .

Was wäre die richtige Syntax?

0

1 Antwort auf die Frage

3
user4556274

Der gesamte Befehl, der remote ausgeführt werden soll, einschließlich der Umleitung, muss in Anführungszeichen gesetzt werden, um zu verhindern, dass der Umleitungsoperator von der lokalen Shell verwendet wird:

ssh -X -o StrictHostKeyChecking=no <username>@<machine name> "echo 'test' > /dev/pts/37" 
das funktioniert, thx. Ich bin aber verwirrt. Die Remote-Maschine führt "echo 'test'> / dev / pts / 37" aus, aber / dev / pts / 37 wird nur auf der Maschine beendet, die den Befehl über ssh ausführt ... offensichtlich irre ich mich, da dies funktioniert, was bin ich vermisst Vince vor 7 Jahren 0