我正在尝试设置我的环境,以便 asciinema 自动记录所有打开的终端 session ,以便能够轻松重播我的历史记录中的任何内容。
我使用 zsh
shell 并在 .zshrc
中运行:
if [ "$ASCIINEMA_REC" != "1" ]; then
local out="rec.json"
local loc="$HOME/.asciinema"
if [ -d "${loc}" ]; then
out="${loc}`pwd`/rec_`date +'%Y-%b-%d_%H-%M-%S'`_pts-`basename $TTY`.json"
mkdir -p "`dirname ${out}`"
fi
asciinema rec -q -w 1 ${out};
fi
但是问题是当我关闭终端窗口时(使用X)。输出未正确关闭并最终为空。此外,现在初始化需要更长的时间,因为它要初始化 zsh shell 两次。
最佳答案
我会尝试trap
SIGHUP
和EXIT
以便您可以在终端关闭时处理清理命令。
trap 'command' SIGHUP EXIT
因此,在您的情况下,可能要确保您正确关闭了 asciinema
运行的伪终端。
也许:
trap 'exit 0;' SIGHUP EXIT # Should exit the current terminal session, hopefully the asciinema one!
关于linux - 如何记录所有终端 session 并在关闭窗口后正确退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42733450/