Linux для всех

индекс
247,20

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

Оказывается, записывать сессии работы в терминале — совсем просто. Программа 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. Небольшая проблема: записанная в одном разрешении терминала сессия с участием псевдографики не будет корректно проигрываться на другом разрешении.
+30
17 января 2009, 17:44
28

комментарии (11)

0
Roxis #
scriptreplay давно входит в util-linux-ng
0
ganqqwerty #
А какой формат лога? Неужели тупо txt?
0
jeck_landin #
лог — просто текстовый файл с выводом, а таймлайн представлен 2мя колонками чисел
0
sharkman #
Есть ещё неплохая утилитка ttyrec: http://en.wikipedia.org/wiki/Ttyrec
0
jeck_landin #
да, кажется она более продвинутая
+1
gentelxor #
Еще тоже самое screen умеет делать. Тут же на Хабре и писали: goganchic.habrahabr.ru/blog/27315/
0
sol_linux #
script -t 2>replayfile — это надо в автозагрузку!
0
Iboong #
А обычные скринкасты чем делать, кроме recordmydesktop?
0
jeck_landin #
вот здесь есть небольшой обзор средств
0
antono #
А вот и сервис для обмена записями: shelr.tv :)
0
laughedelic #
а ещё есть playterm.org для обмена тем, что записано с помощью ttyrec

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.