Консольный ScreenCast
Оказывается, записывать сессии работы в терминале — совсем просто. Программа script, входящая в пакет util-linux-ng может записать все ваши действия в файл. В выходном файле ( по умолчанию он называется «typescript» ) сохраняется полный лог вашей работы за терминалом, включая вывод консоли. Можно использовать его в разных целях, начиная с записи студенческих лабораторных работ и заканчивая слежением за тем, кто и что делал за вашим терминалом.
Но самое интересное — возможность последующего проигрывание этого лога в реальном времени с помощью perl-скрипта под названием scriptreplay
Делается это так:
1 2 3 4 | > script -t 2>replayfile > # делаете свои дела > Ctrl^D > scriptreplay ./replayfile |
Опция -t выводит таймлайн записи в stderr, который перенаправляется в отдельный файл, используемый scriptreplay’ем. По умолчанию scriptreplay читает файл «typescript» и проигрывается в реальном времени. Конечно, это можно изменить, указав другой файл и другую временную шкалу. Например так:
1 2 | > script -t 2>replayfile my_typescript > scriptreplay ./replayfile ./my_typescript 3 |
Число 3 обозназначает в данном случае то, что действия будут проигрываться в 3 раза быстрее.
Таким же образом вы можете записывать сеансы работы с участием консольных псевдографических приложений — особенно это полезно, если вы выполняете в них некие критические действия ( например работаете с утилитой разбиения дисков cfdisk ) и необходимо провести последующий разбор полетов или мастер-класс. Еще один вариант использования — создание туториалов ( отличный способ продемонстрировать всем ваше виртуозное обращение с vim’ом и mc )
P.S. Небольшая проблема: записанная в одном разрешении терминала сессия с участием псевдографики не будет корректно проигрываться на другом разрешении.
Тэги: Console, screencast, scripts
GNU/Linux Ubuntu Funs