как я могу автоматически записывать каждый сеанс терминала?

Мне нравится использовать инструменты, такие как history , script и asciinema для записи и просмотра сессий xterm (т.е. bash / sh ) для типичных общих причин администрирования, а также, иногда для всестороннего изучения / пересмотра; как инструмент обучения.

  • Я думал о настройке $SHELL по умолчанию как прямой путь к указанным инструментам и / или командам, например:

    • /bin/script transcript.log;
    • /bin/asciinema rec -w0.5 term_log.json;
  • Но эти инструменты обычно полагаются на набор $SHELL по умолчанию (т.е. /bin/bash , /bin/sh , /bin/zsh и т. Д.).

  • Кроме того, я чувствую, что переопределяет системные переменные (например, $SHELL , $TERM и т. Д.) Или пытается заставить его работать с файлами config ( *.conf ) и dot ( ~/.bashrc / ~/.bash_profile ) – это gona быть пронизанным всеми видами дырок и потенциальными проблемами.

  • Тем не менее, каждый раз, когда я решаю или понимаю, что мне нужен стенограмма сеанса, это после того, как это произошло, или я получу через интересную часть уже или какой-то такой сценарий.

Какова правильная или лучшая практика, чтобы установить что-то вроде этого, чтобы просто записать все (желательно stdin , stdoutstderr если применимо) и т. Д.) Автоматически?

    One Solution collect form web for “как я могу автоматически записывать каждый сеанс терминала?”

    Что-то вроде этого в вашем .bash_profile или .bashrc может работать для вас:

     if test -t 0 -a -t 1 -a -z "$SCRIPTING" then export SCRIPTING="$HOME/.script.$(date +%Y%m%d_%H%M%S).$$)" exec script "$SCRIPTING" fi 
    Interesting Posts

    Каким образом можно определить (из сценария), установлено ли программное обеспечение?

    как выглядит запись «удаленный файл» в журнале

    Возможно ли получить оригинальное (лучшее) качество звука при использовании avconv?

    Не удалось обновить CentOS6.6 из-за 404

    dircolors: правила для _ext (а не .ext)

    Удалите программное обеспечение python должным образом

    Исключить символические ссылки на другие файловые системы с помощью find -mount

    Практическое использование для перемещения файловых дескрипторов

    Значение по умолчанию для опции SO_RCVTIMEO в Solaris

    Как получить детерминированный полный сброс всех правил iptables?

    Как вручную запустить приложение XScreenSaver в корневом окне (полный экран)?

    Сопоставьте только буквы ASCII в регулярном выражении, игнорируя умлауты

    Невозможно загрузить какой-либо linux live-дистрибутив

    Как настроить параметры Unix для 360 Spatial Workstation (в частности, аудио-плагины vst и aax), чтобы заставить его работать как не-администратор?

    useradd: невозможно создать каталог

    Linux и Unix - лучшая ОС в мире.