Screen Command im Prozess ausführen


#1
Hey Leute,

ich suche einen Command womit man einen Command im Prozess eines Screen ausführen kann.
Beispielsweise in einem Minecraft Server
Befehl im Prozess
say <string>
Code:
screen -X exec echo "say Test"
bei dem Befehl kann ich zwar was in der Console einschreiben, aber es wird nicht ausgeführt.
Man gibt den Befehl im Fenster mit Enter ein aber mit \n hat es auch nicht funktioniert.

Danke im vorraus
 

sheel

I love Asm
#2
Hi

mit anderen Worten, du hast ein laufendes Konsolenprogramm, das auf (Tastatur-)Eingaben wartet,
und die willst du von wo anders (bzw. automatisierbar) hinsenden?

Ich empfehle tmux statt screen:
Den Server zuerst so starten (mit einem eigenen Sessionname und Programmname):
Code:
tmux new-session -d -s Sessionname 'Programmname'
Dann können entweder einzelne Tasten anhand ihres Namens gesendet werden, zB. für \n:
Code:
tmux send-keys -t Sessionname Enter
oder "normale" Eingaben mit -l (kleines L, nicht Zahl 1):
Code:
tmux send-keys -t Sessionname -l say test

Also um einen ganzen Befehl abzusetzen
Code:
tmux send-keys -t Sessionname -l say test
tmux send-keys -t Sessionname Enter