Hallo,
Ich habe mich gefragt, warum ein exit
ausgegeben wird, nachdem CTRL + D
gedrückt wurde, um die Besetzung mit rec
zu beenden.
redaxmedia<strong i="10">@redaxmedia</strong>:~$ exit
asciinema: recording finished
asciinema: press <enter> to upload to asciinema.org, <ctrl-c> to save locally
Ein von asciinema 1.xx generierter Cast sieht gut aus - ich würde ihn gerne wieder loswerden.
Bei der Veröffentlichung von 2.0 war mir dieser Rückschritt bewusst, wollte aber die Veröffentlichung deswegen nicht blockieren. Aber jetzt ist ein guter Zeitpunkt, um darüber zu diskutieren.
Dies ist Ihre Shell, die exit
druckt, wenn Sie Strg+D drücken :)
Die vorherige Version von Asciinema behielt die gesamte Aufnahme im Speicher, bevor sie in einer Datei gespeichert wurde, und es war einfach, "Exit" im letzten aufgenommenen Frame zu erkennen und zu verwerfen (weil Asciinema wusste, dass es der letzte Frame war). Mit der neuen Version kam ein neues Dateiformat, das Echtzeit- und Streaming-freundlicher ist und in Echtzeit auf die Festplatte schreibt. Aus diesem Grund wurde nach Beendigung der Aufnahmesitzung der "Exit" bereits in eine Datei geschrieben. Und wir können nicht einfach jeden "Exit" wegwerfen, der auf einem Terminal gedruckt wird, wir können nur den letzten entfernen, weil Sie verschachtelte Bash-Sitzungen haben könnten und dieser "Exit" kann eine nützliche Information für jemanden sein, der beobachtet, dass Sie die innere Shell verlassen haben .
Hierfür gibt es mehrere mögliche Lösungen:
asciinema play ....
im Terminal erfordern, kann aber sehr einfach im Webplayer durchgeführt werden, der die gesamte Aufnahme im Mem puffert (das ist ein separates Thema, idealerweise möchte ich nicht die gesamte Aufnahme im Webbrowser-Mem benötigen)Im Allgemeinen ziehe ich es vor, die Quelldaten bei der Aufnahme nicht zu ändern (Text ändern, Timing ändern, Frames entfernen). Das Entfernen des letzten "Exit" bedeutet, dass Daten aus dem Stream entfernt werden, aber der Benutzer möchte dies nicht wirklich, daher ist es in Ordnung, wenn ich es loswird.
Lösung 2. erscheint mir im Moment am einfachsten.
Danke für Ihre Erklärung.
Ich habe Casts gesehen, bei denen Leute exit
über CTRL+D
und dies führt dazu, dass zwei Ausgänge gedruckt werden. Ich hoffe jedoch, dass dies ein gültiger Fehler ist und dass ihn bald jemand beheben wird.
Irgendwelche Updates dazu? Ich stehe vor dem gleichen Problem.
Hilfreichster Kommentar
Bei der Veröffentlichung von 2.0 war mir dieser Rückschritt bewusst, wollte aber die Veröffentlichung deswegen nicht blockieren. Aber jetzt ist ein guter Zeitpunkt, um darüber zu diskutieren.
Dies ist Ihre Shell, die
exit
druckt, wenn Sie Strg+D drücken :)Die vorherige Version von Asciinema behielt die gesamte Aufnahme im Speicher, bevor sie in einer Datei gespeichert wurde, und es war einfach, "Exit" im letzten aufgenommenen Frame zu erkennen und zu verwerfen (weil Asciinema wusste, dass es der letzte Frame war). Mit der neuen Version kam ein neues Dateiformat, das Echtzeit- und Streaming-freundlicher ist und in Echtzeit auf die Festplatte schreibt. Aus diesem Grund wurde nach Beendigung der Aufnahmesitzung der "Exit" bereits in eine Datei geschrieben. Und wir können nicht einfach jeden "Exit" wegwerfen, der auf einem Terminal gedruckt wird, wir können nur den letzten entfernen, weil Sie verschachtelte Bash-Sitzungen haben könnten und dieser "Exit" kann eine nützliche Information für jemanden sein, der beobachtet, dass Sie die innere Shell verlassen haben .
Hierfür gibt es mehrere mögliche Lösungen:
asciinema play ....
im Terminal erfordern, kann aber sehr einfach im Webplayer durchgeführt werden, der die gesamte Aufnahme im Mem puffert (das ist ein separates Thema, idealerweise möchte ich nicht die gesamte Aufnahme im Webbrowser-Mem benötigen)Im Allgemeinen ziehe ich es vor, die Quelldaten bei der Aufnahme nicht zu ändern (Text ändern, Timing ändern, Frames entfernen). Das Entfernen des letzten "Exit" bedeutet, dass Daten aus dem Stream entfernt werden, aber der Benutzer möchte dies nicht wirklich, daher ist es in Ordnung, wenn ich es loswird.
Lösung 2. erscheint mir im Moment am einfachsten.