gpt4 book ai didi

linux - 如何记录所有终端 session 并在关闭窗口后正确退出

转载 作者:太空宇宙 更新时间:2023-11-04 10:23:33 25 4
gpt4 key购买 nike

我正在尝试设置我的环境,以便 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 SIGHUPEXIT 以便您可以在终端关闭时处理清理命令。

trap 'command' SIGHUP EXIT

因此,在您的情况下,可能要确保您正确关闭了 asciinema 运行的伪终端。

也许:

trap 'exit 0;' SIGHUP EXIT # Should exit the current terminal session, hopefully the asciinema one!

引用:Which signals are sent when closing a terminal

关于linux - 如何记录所有终端 session 并在关闭窗口后正确退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42733450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com