Linux中的用户空闲时间

2 投票
4 回答
5554 浏览
提问于 2025-04-17 17:03

我需要检查自上次用户输入发生以来经过了多少时间(最好是用Python在Linux上实现,版本是lucid - 10.4)。

我知道用正常的方法很简单(只需要使用XScreenSaverQueryInfo),但问题是我没有x11/extensions/scrnsaver.h这个头文件,而且我必须用其他方法来实现(即使我安装了所需的包,我也不能在另外100台电脑上安装包,因为我没有权限这么做)。

4 个回答

1

在网上我发现了类似的东西,看起来可以用,但还不是完美的解决方案,因为它返回的信息比我需要的多得多,而且旁边的数字也不是固定的(在其他系统上会有所不同):

ls -l /dev/pts | fgrep username

3

使用 xprintidle

需要安装的东西: sudo apt-get install xprintidle

在命令行中使用: xprintidle

或者,以秒为单位: echo $((`xprintidle` / 1000))

或者在 Python 中使用:

milliseconds_string = os.popen("xprintidle").read()
seconds = int(milliseconds_string)/1000
4

另一个基于X屏幕保护程序的选择是来自suckless-tools的xssstate

xssstate -i

撰写回答