So legen Sie den Namen der GNU-Bildschirmprotokolldatei nicht interaktiv fest

2

Ich versuche, die Ausgabe einer Bildschirmsitzung aus einem Skript zu analysieren. In der Manpage des Bildschirms heißt es, dass ich den Befehl verwenden logfilekann, gibt jedoch keinen Hinweis auf die Syntax, die zu verwenden ist, wenn ich den Bildschirm nicht interaktiv starte.

Ich würde gerne so etwas machen:

screen -L -d -m executable.app 

Aber anstatt die Ausgabe schreiben zu lassen screenlog.0, lassen Sie sie in eine Datei meiner Wahl schreiben.

Eddy
quelle

Antworten:

2

Ich habe Folgendes verwendet, um eine Bildschirmsitzung mit einer bestimmten Protokolldatei zu starten.

screen -dmS <sock_name> && \
screen -S <sock_name> -X logfile <logfile_name> && \
screen -S <sock_name> -X log

Beschreibung:

screen -dmS <sock_name>                         #Start detached screen session
screen -S <sock_name> -X logfile <logfile_name> #Use logfile command to set logging file
screen -S <sock_name> -X log                    #Use log command to start logging
Jaakko
quelle
2

Ich kann mir einen benutzerdefinierten Protokolldateinamen nur vorstellen, indem logfile <LOG-NAME>ich eine temporäre .screenrc-Datei erstelle, diese hinzufüge und dem Bildschirm mitteile, dass er verwendet werden soll. So was:

cp ~/.screenrc /tmp/
echo "logfile CUSTOM_NAME" >> /tmp/.screenrc
screen -c /tmp/.screenrc -L -d -m <PROGRAM>
Arkadiusz Drabczyk
quelle
1
Wenn diese Antwort für Sie funktioniert, markieren Sie sie als akzeptiert. Wenn es keine weiteren Details gibt, können wir an einer besseren Lösung arbeiten.
Arkadiusz Drabczyk