使用 XSuspender 自动暂停非活动 X11 应用程序以减少 CPU 和电池使用量

[ad_1]

XSuspender 是一种在 X11 应用程序处于非活动状态时暂停它们的工具。 其目的是降低 CPU 使用率,进而降低电池使用率,降低 CPU 温度和风扇噪音。

该工具使用 SIGSTOP 来阻止进程获取更多 CPU 时间,或者使用您可以指定的自定义 shell 脚本在应用程序窗口失去焦点后挂起应用程序。 当窗口重新获得焦点时,它会立即恢复,因此您可以从上次中断的地方继续。

XSuspender 运行时,并非所有应用程序都被挂起。 此工具使用一个配置文件,您必须在其中指定要挂起的应用程序,其位置如下:
~/.config/xsuspender.conf

安装 XSuspender 时,此文件为空,但您会发现一个示例配置文件,该文件已预先配置为可与 Chromium 浏览器、Firefox、JetBrains、qBittorrent 等流行软件配合使用, VirtualBox, 和更多。 该文件位于 /usr/share/doc/xsuspender/examples/xsuspender.conf 它包含每个选项的解释,靠近文件的顶部,所以在尝试配置 XSuspender 之前阅读它。

要将 XSuspender 示例配置文件用作您的配置,请将其复制到 ~/.config, 像这样:

cp /usr/share/doc/xsuspender/examples/xsuspender.conf ~/.config/

值得注意的是,默认情况下,XSuspender 示例配置文件自带 only_on_battery = yes,这意味着仅在使用电池供电时应用规则。 因此,如果您的笔记本电脑已插入电源并且您想尝试此操作,您可能需要更改它。

现在您已准备好尝试 XSuspender. 打开终端并运行:

xsuspender

并尝试其中一个预配置的应用程序 ~/.config/xsuspender.conf,例如 Chromium、Firefox 等。例如,在这些网络浏览器之一中打开 YouTube 视频,单击播放,然后使浏览器窗口失去焦点。 视频应在大约 10 秒后暂停。 聚焦浏览器窗口,视频应该再次播放,无需您的任何输入(除了聚焦窗口)。

你会注意到在 xsuspender.conf 文件,为了挂起一个窗口,你必须指定 wm_class。 您可以通过在终端中使用以下命令来查找窗口的类(您要挂起的窗口):

xprop -notype WM_NAME WM_CLASS

运行该命令时,您的鼠标光标会变成 +。 现在,您必须单击要查找 wm_class 的窗口。 单击窗口后,wm_class 将显示在您运行命令的终端中,例如:

$ xprop -notype WM_NAME WM_CLASS

WM_NAME = "XSUSPENDER - Chromium"

WM_CLASS = "chromium-browser", "Chromium-browser"

您可能还喜欢:auto-cpufreq 是适用于 Linux 的新 CPU 速度和功耗优化器

想把它添加到启动中吗? 安装 XSuspender 添加一个名为 xsuspender.desktop 到启动应用程序(/etc/xdg/autostart/),但默认情况下禁止自动启动。 因此,要将 XSuspender 添加到启动中,请编辑 /etc/xdg/autostart/xsuspender.desktop 文件和更改 Hidden=trueHidden=false. 您可以使用命令行执行此操作(这是一个单行命令,因此三次单击该行以将其选中):

sudo sed -i 's/Hidden=true/Hidden=false/' /etc/xdg/autostart/xsuspender.desktop

同样重要的是要注意,XSuspender 并非一切都很好. 例如,如果某个程序正在下载某些内容并且没有聚焦,则下载会停止。 此外,未聚焦的应用程序的媒体播放将停止,这可能是也可能不是您想要的(尽管这是可以预防的 – 只是不要配置 XSuspender 来挂起该应用程序)。 Pasting will not work either when the selection source process is suspended. 它只适用于 X11。 您可以在 XSuspender 项目页面上的本节中查看所有已知问题/怪癖。

下载 XSuspender

开发人员为基于 Debian 和 Ubuntu 的 Linux 发行版(Linux Mint、Pop!_OS、Zorin OS 等)提供二进制文件,以及从源代码安装 XSuspender 的说明。 Arch Linux / Manjaro 的 AUR 包也可用。

[ad_2]

Related Posts