Привет,
Мне было интересно, почему exit
печатается после нажатия CTRL + D
чтобы завершить приведение с помощью rec
.
redaxmedia<strong i="10">@redaxmedia</strong>:~$ exit
asciinema: recording finished
asciinema: press <enter> to upload to asciinema.org, <ctrl-c> to save locally
Приведение, сгенерированное asciinema 1.xx, выглядит нормально - я бы хотел снова избавиться от него.
При выпуске 2.0 я знал об этой регрессии, но не хотел блокировать выпуск из-за этого. Но сейчас хорошее время, чтобы обсудить это.
Это ваша оболочка, которая печатает exit
когда вы нажимаете ctrl + d, кстати :)
Предыдущая версия asciinema хранила всю запись в памяти перед сохранением ее в файл, и было легко обнаружить «выход» в последнем записанном кадре и выбросить его (потому что asciinema знала, что это последний кадр). В новой версии появился новый формат файлов, который более удобен для потоковой передачи в реальном времени и записывает на диск в реальном времени. В связи с этим, когда сеанс записи завершается, «выход» уже был записан в файл. И мы не можем просто выбросить любой «выход», напечатанный на терминале, мы можем удалить только последний, потому что у вас могут быть вложенные сеансы bash, и этот «выход» может быть полезной информацией для тех, кто следит за тем, как вы вышли из внутренней оболочки. .
Для этого есть несколько возможных решений:
asciinema play ....
в терминале, но это очень легко сделать в веб-плеере, который буферизует всю запись в памяти (это отдельный тема, в идеале я бы не хотел требовать целую запись в веб-браузерах mem)В общем, я предпочитаю не изменять исходные данные при записи (изменять текст, изменять время, удалять кадры). Удаление окончательного «выхода» - это удаление данных из потока, однако это не то, чего на самом деле хочет пользователь, поэтому я могу избавиться от него.
Решение 2. На данный момент мне кажется самым простым.
Спасибо за ваше объяснение.
Я видел приведения, когда люди использовали exit
более CTRL+D
и это приводило к печати двух выходов. Однако я надеюсь, что это действительная ошибка, и что кто-то скоро ее исправит.
Есть обновления по этому поводу? Я столкнулся с той же проблемой.
Самый полезный комментарий
При выпуске 2.0 я знал об этой регрессии, но не хотел блокировать выпуск из-за этого. Но сейчас хорошее время, чтобы обсудить это.
Это ваша оболочка, которая печатает
exit
когда вы нажимаете ctrl + d, кстати :)Предыдущая версия asciinema хранила всю запись в памяти перед сохранением ее в файл, и было легко обнаружить «выход» в последнем записанном кадре и выбросить его (потому что asciinema знала, что это последний кадр). В новой версии появился новый формат файлов, который более удобен для потоковой передачи в реальном времени и записывает на диск в реальном времени. В связи с этим, когда сеанс записи завершается, «выход» уже был записан в файл. И мы не можем просто выбросить любой «выход», напечатанный на терминале, мы можем удалить только последний, потому что у вас могут быть вложенные сеансы bash, и этот «выход» может быть полезной информацией для тех, кто следит за тем, как вы вышли из внутренней оболочки. .
Для этого есть несколько возможных решений:
asciinema play ....
в терминале, но это очень легко сделать в веб-плеере, который буферизует всю запись в памяти (это отдельный тема, в идеале я бы не хотел требовать целую запись в веб-браузерах mem)В общем, я предпочитаю не изменять исходные данные при записи (изменять текст, изменять время, удалять кадры). Удаление окончательного «выхода» - это удаление данных из потока, однако это не то, чего на самом деле хочет пользователь, поэтому я могу избавиться от него.
Решение 2. На данный момент мне кажется самым простым.