如何获取上次使用电脑的时间
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.
得到你想要的
在 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.
得到你想要的