AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1368345
Accepted
Organic Marble
Organic Marble
Asked: 2021-10-10 10:47:21 +0800 CST2021-10-10 10:47:21 +0800 CST 2021-10-10 10:47:21 +0800 CST

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

  • 772

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

我通过 ssh 远程管理系统。

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

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

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

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

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

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

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

keyboard
  • 4 4 个回答
  • 1555 Views

4 个回答

  • Voted
  1. Best Answer
    jpa
    2021-10-11T07:06:20+08:002021-10-11T07:06:20+08:00

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

    DISPLAY=":0" xprintidle
    

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


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

    DISPLAY=":0" zenity --question --text="Organic Marble asks: Are you currently using this computer?" && echo yes
    

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

    • 25
  2. pasman pasmański
    2021-10-10T11:03:52+08:002021-10-10T11:03:52+08:00

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

    xset -display :0 q
    

    看最后一行:

    Monitor is Off
    
    • 8
  3. raj
    2021-10-10T11:40:21+08:002021-10-10T11:40:21+08:00

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

    • 6
  4. HiddenWindshield
    2021-10-11T07:29:24+08:002021-10-11T07:29:24+08:00

    我认为您绝对确定的唯一方法是在他们的屏幕上“窥探”。

    1. 在他们的计算机上安装 x11vncsudo apt-get install x11vnc net-tools

    2. (可选)在他们的计算机上创建一个 shell 脚本来自动化启动服务器的过程,这样您就不必每次都记住语法。请注意,-auth参数可能需要更改;我现在只有 Fedora 可以测试,Ubuntu 可能会将身份验证文件保存在不同的位置。

    #!/bin/sh
    sudo x11vnc -auth /var/run/lxdm/lxdm-\:0.auth -display :0 -rfbport 5900 -localhost
    
    1. 在您的计算机上安装您最喜欢的 VNC 查看器应用程序。

    2. 在您的计算机上为端口 5900 设置 SSH 端口隧道。假设您使用的是 OpenSSH,请将以下内容放入您的.ssh/config文件中:

    Host theirhostname
        LocalForward 5900 localhost:5900
    

    当您想实际查看他们的屏幕时:

    1. 像往常一样通过 SSH 连接到他们的计算机。

    2. 运行 shell 脚本(或输入那个大行sudo x11vnc)。*

    3. 启动您的 VNC 查看器应用程序,并引导它连接到localhost.

    瞧,您应该能够看到他们的屏幕。

    *注意:您将收到几个警告,表明 VNC 服务器不受密码保护。这不是安全风险,因为 VNC 服务器端口只能在本地访问,这意味着任何攻击者都必须已经登录。但是,如果您真的担心,请使用x11vnc -storepasswd创建密码文件,然后-rfbauth /home/user/.vnc/passwd添加x11vnc命令行。

    • 1

相关问题

  • 有哪些有用的键盘快捷键?[关闭]

  • 如何在 Compiz->Commands 中获得超过 12 个命令?[关闭]

  • 输入语言切换键只接受 shift-alt 而不是 alt-shift [关闭]

  • 如何在键盘上映射未映射的键?[关闭]

  • 如何重置我的键盘布局?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve