我的朋友想知道是否有可能获得一个补丁,允许他将计算机设置为在使用视频或音乐播放器(包括浏览 YouTube)时不挂起?我不介意同样的补丁。
他使用的是东芝电脑,运行的是 Ubuntu 11.10。我用的是惠普电脑,运行的是 Ubuntu 11.10。
答案1
安装 xmacro(sudo apt-get install xmacro)
创建一个名为“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”的路径
- 将脚本“no.idle.sh”添加到您的 GNOME-Startup-Items,以便 no.idle.sh 在每次启动时运行。
完毕。
脚本的作用: 该脚本每秒检查一次是否有声音发送到扬声器(使用终端命令 pactl list | grep RUNNING)。
如果正在播放音乐,它会模拟鼠标移动(使用 xmacroplay)。这样一来,您的 GNOME 会话就不会处于 IDLE 状态(因此您的 PC 也不会挂起)。
如果没有播放音乐,它什么也不做(所以你的会话能够以空闲状态运行,然后暂停)
您可以在终端中输入以下内容来观看检查音乐的脚本:
tail -f /path/to/noidle.log