系统设置->电源中,“不活动 xxx 分钟后暂停”中的“不活动”是什么意思?
如果我在睡觉时我的笔记本电脑正在运行长达数小时的备份程序,这是否被视为“不活动”?
如果我的笔记本电脑在我离开时运行 xdotools 来模拟按键和鼠标动作,这是否被视为“不活动”?
谢谢。
答案1
这不是对你的问题的直接回答,但为了防止进入暂停状态(例如在运行备份脚本时),可以通过或直接调用 dbus 方法来inhibitors
设置gnome-session-inhibit
org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.Inhibit
$ gnome-session-inhibit --help
gnome-session-inhibit [OPTION...] COMMAND
Execute COMMAND while inhibiting some session functionality.
-h, --help Show this help
--version Show program version
--app-id ID The application id to use
when inhibiting (optional)
--reason REASON The reason for inhibiting (optional)
--inhibit ARG Things to inhibit, colon-separated list of:
logout, switch-user, suspend, idle, automount
--inhibit-only Do not launch COMMAND and wait forever instead
If no --inhibit option is specified, idle is assumed.
答案2
不活跃
在指定的时间段内没有发生任何用户交互。
用户交互包括鼠标移动、按钮单击或按下/释放键盘键。
设置允许多个级别不活动状态。首先显示屏幕保护程序,稍后您可以暂停/休眠或最小化电力使用(即让 PCI 板进入睡眠模式,因为它长时间不使用。)
正如评论中提到的,可以阻止屏幕保护程序。 特别是,它用于用户播放音轨等媒体或观看视频的情况。 一旦阻止了屏幕保护程序的发生,挂起/休眠也不会发生。
类似地,备份工具可以通过关闭某些标志、ping 某些东西或其他东西来防止挂起/休眠。我不完全确定这部分是如何工作的。我知道要阻止屏幕保护程序,您只需调用 C 中的函数来要求 X-Windows 不要启动屏幕保护程序(即关闭屏幕保护程序):
XScreenSaverSuspend(display, True);
您可以从命令行使用:
org.gnome.desktop.screensaver idle-activation-enabled false
在服务器上,这可能是一个问题。有些服务器允许在其 BIOS/OS 中设置 LAN 唤醒 (WOL),但这需要一点时间,而且很多时候客户端不会等待足够长的时间让服务器唤醒。
此外,网络流量等某些因素也可以被视为用户活动。但我不认为 X11 提供该选项。即使网络全天运行,我的服务器也会进入屏幕保护程序。