screencast() { arecord -R 1000 -f cd -t wav $1.wav & RECPID=$!; echo "Starting screencast in new shell. Exit subshell to quit."; script -t 2> $1.timing -a $1.session; kill $RECPID; }
Команда screencast() создает скринкаст (запись экрана) с одновременной записью аудио. Она использует программы arecord и script для записи аудио и текста соответственно.
При вызове команды screencast, первым аргументом передается имя файла, в котором будет сохранен скринкаст.
Команда arecord используется для записи аудио. Она задает частоту дискретизации в 1000 Гц, формат записи — CD Audio (16 бит, стерео), а имя выходного файла задается первым аргументом скрипта, добавляя к нему расширение .wav. Запись аудио происходит в фоновом режиме, а ID процесса записи сохраняется в переменной RECPID.
Команда script записывает все выводимые в терминал данных в файл с именем $1.session (первый аргумент скрипта). Опция -t указывает на запись временных меток в файл $1.timing, который содержит информацию о времени каждой команды и ее продолжительности.
После запуска script выводится сообщение о начале записи скринкаста, и для завершения записи скрипт необходимо закрыть (Ctrl+D).
Альтернативой этой команде может быть использование специализированных инструментов для создания скринкастов, таких как OBS Studio, SimpleScreenRecorder, или Kazam.
