Pull to refresh

Консольный скринкаст

Reading time2 min
Views1.5K
Оказывается, записывать сессии работы в терминале — совсем просто. Программа script, входящая в пакет util-linux-ng может записать все ваши действия в файл. В выходном файле ( по умолчанию он называется «typescript» ) сохраняется полный лог вашей работы за терминалом, включая вывод консоли. Можно использовать его в разных целях, начиная с записи студенческих лабораторных работ и заканчивая слежением за тем, кто и что делал за вашим терминалом.

Но самое интересное — возможность последующего проигрывание этого лога в реальном времени с помощью perl-скрипта под названием scriptreplay
Делается это так:

> script -t 2>replayfile
> # делаете свои дела
> Ctrl^D
> scriptreplay ./replayfile


Опция -t выводит таймлайн записи в stderr, который перенаправляется в отдельный файл, используемый scriptreplay'ем. По умолчанию scriptreplay читает файл «typescript» и проигрывается в реальном времени. Конечно, это можно изменить, указав другой файл и другую временную шкалу. Например так:

> script -t 2>replayfile my_typescript
> scriptreplay ./replayfile ./my_typescript 3


Число 3 обозназначает в данном случае то, что действия будут проигрываться в 3 раза быстрее.

Таким же образом вы можете записывать сеансы работы с участием консольных псевдографических приложений — особенно это полезно, если вы выполняете в них некие критические действия ( например работаете с утилитой разбиения дисков cfdisk ) и необходимо провести последующий разбор полетов или мастер-класс. Еще один вариант использования — создание туториалов ( отличный способ продемонстрировать всем ваше виртуозное обращение с vim'ом и mc )

P.S. Небольшая проблема: записанная в одном разрешении терминала сессия с участием псевдографики не будет корректно проигрываться на другом разрешении.
Tags:
Hubs:
+30
Comments11

Articles