问题描述
在 xorg 会话上的 GNU/Linux 中,我想要做的是获取自从我停止使用计算机(即没有按下任何键和/或移动光标)以来经过的秒数。
但问题是 THE_COMMAND
是什么。
While true; do
last_touched="$(THE_COMMAND)"
Now="$(date +%s)"
secs=$((Now - last_touched))
echo "${secs} seconds ago"
sleep 3
done
解决方法
我记得前段时间问过同样的问题。 这是我发现的,
last -aiF -n 1 userName
命令可以给你当前的会话。
结合awk
可以得到如下结果
$ last -aiF -n2 username
username :1 Wed Apr 21 13:09:00 2021 still logged in 0.0.0.0
username :1 Wed Apr 21 07:28:47 2021 - down (05:39) 0.0.0.0
$ last -aiF -n 2 ogulcan | awk '{print $10}'
in
(05:39)
这里的行是会话时间。
这些时间算作now - first boot login
但我相信这些并不适合您。 所以这是一个 8 年前的问题,可能对您有帮助。
使用 python 可以计算经过的空闲时间。也许这样,你可以简单地用python得到你想要的。