寻找通过 ssh 访问的远程系统的“操作员在场”指示

Org*_*ble 19 ssh mouse keyboard administration remote-access

一位年长的亲戚使用Ubuntu 18.04 + LXDE桌面,主要用于上网和玩一些文字游戏。他们很少关闭电脑……我上次检查时,它已经打开了 15 天以上。

我通过 ssh 远程管理系统。

有时我需要重新启动系统,我想要一些方法来确定我的亲戚是否正在积极使用它,这样我就不会打扰他们。我有时会在半夜这样做,但他们睡得不好,有时会起床玩游戏。

给他们打电话是可行的,但我们之间有几个时区,有时会把他们吵醒。

如果他们正在玩游戏,我可以在 中看到这一点top,但我找不到方法来判断他们是否正在积极使用浏览器。

某种鼠标和/或键盘活动指示器会很棒,但我希望远离任何类型的键盘记录器类型软件。我怀疑存在这样的“检测到鼠标/键盘活动”的东西 - 让系统进入睡眠状态/激活屏幕保护程序**并唤醒它(如果没有其他事情) - 但我找不到它。

** 我认为他们实际上并没有使用屏幕保护程序,这只是一个例子。我认为电源管理器只是使屏幕空白。

是否在某处跟踪了“自用户上次键盘/鼠标交互以来的时间”?

任何解决方案都需要能够通过 ssh 实现。

jpa*_*jpa 25

有一个实用程序可以打印 X 屏幕的空闲时间:

DISPLAY=":0" xprintidle
Run Code Online (Sandbox Code Playgroud)

它打印自上次键盘或鼠标输入以来的时间(以毫秒为单位)。


另一种选择是弹出一个问题框:

DISPLAY=":0" zenity --question --text="Organic Marble asks: Are you currently using this computer?" && echo yes
Run Code Online (Sandbox Code Playgroud)

然后,如果您在几分钟内没有得到答复,只需按 ctrl-c 并继续重新启动即可。

  • 如果您总是出现短暂的空闲时间,则可能是他们的光电鼠标不稳定。也可以解释为什么显示器总是打开的。 (4认同)

pas*_*ski 8

如果显示器配置为节能,您可以检查它:

xset -display :0 q
Run Code Online (Sandbox Code Playgroud)

看最后一行:

Monitor is Off
Run Code Online (Sandbox Code Playgroud)

  • 这看起来很有希望!我刚刚尝试了一下,结果显示“监视器已打开”。我会继续检查,看看它是否会消失。 (3认同)
  • @justhalf 我在最后一天检查了好几次。它始终显示“打开”,因此该解决方案可能不适用于我的情况。 (2认同)

raj*_*raj 6

嗯...这只是一个想法,但是如果您通过 ssh 登录到您的亲戚正在使用的同一用户,请将环境DISPLAY变量设置为:1并运行xinput test nwheren是与鼠标对应的数字(您可以使用xinput --list, 在中获取该数字)我的情况是 9),那么motion a[0]=338 a[1]=889只要移动鼠标,该命令就会打印一行文本(以类似 的形式)。因此,您可以将该命令的输出传输到某个脚本,该脚本将记录最后一次获得任何输入的时间,因此您将知道鼠标最后一次移动的时间(当然,这必须在后台不断运行以记录实际时间)最后一次鼠标移动)。