如何(重新)设置空闲时间?

如何(重新)设置空闲时间?

我使用具有音频输出的外接显示器并将其用于我的音频系统。但是,如果台式机进入睡眠模式,它会自动切换到笔记本电脑扬声器。

我想pacmd list-sink-inputs | grep 'RUNNING'每 20 秒检查一次声音是否正在播放,如果是则自动重置空闲时间。

目前我使用咖啡因,但这完全禁用了空转。

如何防止计算机在播放声音时进入睡眠状态?如何从命令行重置空闲时间?

答案1

以下是我想到的。它使用caffeinate来自咖啡因您正在使用的包。

#!/bin/bash
while true
do
    pacmd list-sink-inputs | grep 'RUNNING' > /dev/null
    if [ $? -eq 0 ]
    then
      caffeinate sleep 1
    fi
    sleep 20
done

另一个解决方案是使用xdotool。如果正在播放某些内容,它会在您不注意的情况下稍微移动鼠标并将其留在原处。

#!/bin/bash
while true
do
    pacmd list-sink-inputs | grep 'RUNNING' > /dev/null
    if [ $? -eq 0 ]
    then
        for ANGLE in 0 90 180 270
        do
            xdotool mousemove_relative --polar $ANGLE 0.1
        done
    fi
    sleep 20
done

只要确保你已经xdotool安装:

sudo apt install xdotool

相关内容