
Eine meiner ersten Fragen. Bitte kommentieren Sie, wenn weitere Erklärungen oder Informationen erforderlich sind oder wenn die Frage nicht so ist, wie sie hier sein sollte
Ich verwende den Bildschirm, um Server automatisch zu starten (in diesem Beispiel den Minecraft-Server).
Ich erzeuge einen Bildschirm wie
screen -S 'server_1' -d -m "java -Xmx4G -Xms4G -jar spigot.jar"
Anschließend das Logfile setzen und die Protokollierung aktivieren mit
screen -S 'server_1' -X logfile /srv/serverinstalls/1/stdout.txt
screen -S 'server_1' -X log
Der Inhalt von stdout.txt wird dann über NodeJS eingelesen.
Die Ausgabe von "cat stdout.txt" sieht gut aus, aber wenn ich die Datei mit "less stdout.txt" ansehe, beginnt jede Zeile mit
>ESC[2K^M
wobei ^M und ESC Steuerzeichen sind (^M ist das Zeichen \r). Ich denke, auf diese Weise protokolliert screen die Eingabeaufforderung (beginnend mit '>') der interaktiven Shell, die der Server bereitstellt
Gibt es eine Möglichkeit, den Bildschirmbefehl so zu konfigurieren, dass diese Steuerzeichen weggelassen werden und der interaktive Teil der Shell nicht protokolliert wird?
Bei Bedarf kann ich bei jedem Lesen der Protokolldatei zusätzliche Befehle ausführen oder die unerwünschten Zeichen irgendwie mit NodeJS ersetzen, aber die Eingabeaufforderung sieht nicht auf jedem Server gleich aus.
Ich verwende Debian 9.9 (Stretch) mit Screen 4.05.00
Antwort1
Hat es jemand von den unten aufgeführten versucht?
ansifilter
less -r
strings