linux - 如何获取我上次使用计算机的时间
问题描述
在xorg会话上的 GNU/Linux 中,我想做的是获取自从我停止使用计算机以来已经过去了多少秒(即没有按下任何键和/或移动光标)。
在后台运行,下面的脚本将显示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 $10}'
in
(05:39)
这里的行是会话时间。
这些时间算作now - first boot login
但我相信这些对你来说不是最好的。所以这是一个可能对你有帮助的 8 年前的问题。
使用 python,您可以计算经过的空闲时间。也许这样,你可以简单地用 python 得到你想要的。
推荐阅读
- leaflet - 多边形图层具有覆盖底图的白色背景
- python - FeatureUnion :Sklearn FeatureUnion 不允许拟合参数
- ios - xcode,故事板,动作顺序
- hive - 支持在 Presto 中使用有限的列数创建表
- javascript - 单击JavaScript / TypeScript中的浏览器后退按钮后如何注销用户
- python - 如何在ROS中继承回调
- javascript - Google 日历的验证/白名单网站
- java - Selenide 中的 NoSuchSessionException 与 TestContainers
- python - 如何根据python中的位置创建新数组?
- node.js - 如何修复 TypeError:无法设置未定义的属性“financial.deposits”