是否可以让我的系统在播放音乐和视频时不挂起?

是否可以让我的系统在播放音乐和视频时不挂起?

我的朋友想知道是否有可能获得一个补丁,允许他将计算机设置为在使用视频或音乐播放器(包括浏览 YouTube)时不挂起?我不介意同样的补丁。

他使用的是东芝电脑,运行的是 Ubuntu 11.10。我用的是惠普电脑,运行的是 Ubuntu 11.10。

答案1

  1. 安装 xmacro(sudo apt-get install xmacro)

  2. 创建一个名为“myxmacro”的文件并赋予其以下内容:

代码:

MotionNotify 90 90 
MotionNotify 120 120

3. 创建文件“no.idle.sh”并使其可执行:

代码:

touch no.idle.sh
chmod +x no.idle.sh

4.4. 创建文件“no.idle.sh”并使其可执行: 代码:

touch no.idle.sh
chmod +x no.idle.sh

赋予它以下内容:

代码

    #!/bin/bash
# No.idle.sh prevents GNOME to turn IDLE 
# if there is any sound sent to speakers
# This script requires the package "xmacro"
# (apt-get install xmacro)
###########################################
# This script requires a textfile called "myxmacro"
# with the following (dummy) content:
# ------------ myxmacro ------------
# MotionNotify 90 90 
# MotionNotify 120 120
# ----------------------------------
# You need to fix the path to "myxmacro" in line 31
#
#############################################

# set Log-File
LOG=/home/YOUR_USERNAME/noidle.log
sound=0
silence=0


while true; do
    sleep 1
    Datum=`date +%d.%m.%Y-%H:%M:%S`    

    # check if sound is sent to speaker    
    if pactl list | grep RUNNING > /dev/null; then
        echo "[$Datum] Sound (Ping: $sound)" >> $LOG
        sound=$((sound+1));
        xmacroplay :0 </path/to/myxmacro
        silence=0
    else
        echo "[$Datum] Silence (Ping: $silence)"    >> $LOG
        silence=$((silence+1));
        sound=0
    fi
    #----------------------------------------------------
done

您需要:- 修复第 18 行日志文件的路径

  • 修复第 31 行“myxmacro”的路径

    1. 将脚本“no.idle.sh”添加到您的 GNOME-Startup-Items,以便 no.idle.sh 在每次启动时运行。

完毕。

脚本的作用: 该脚本每秒检查一次是否有声音发送到扬声器(使用终端命令 pactl list | grep RUNNING)。

如果正在播放音乐,它会模拟鼠标移动(使用 xmacroplay)。这样一来,您的 GNOME 会话就不会处于 IDLE 状态(因此您的 PC 也不会挂起)。

如果没有播放音乐,它什么也不做(所以你的会话能够以空闲状态运行,然后暂停)

您可以在终端中输入以下内容来观看检查音乐的脚本:

tail -f /path/to/noidle.log

答案2

相关内容