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

Мне нравится использовать инструменты, такие как 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 
    Linux и Unix - лучшая ОС в мире.