如何获取上次使用电脑的时间

How to get the time when I last used the computer

xorg 会话的 GNU/Linux 中,我想做的是获取自从我停止使用计算机(即未按下任何键)后经过了多少秒and/or光标移动了)。

运行在后台,下面的脚本会在状态栏显示secs

但问题是 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 }'
in
(05:39)

这里的行是会话时间。

这些时间计为now - first boot login

但我相信这些并不是最适合你的。 所以这是一个可能对你有帮助的8年老问题。

User Idle time in Linux

使用python您可以计算空闲时间。也许这样,你可以简单地用 python.

得到你想要的