【发布时间】:2015-07-01 14:30:18
【问题描述】:
当在 KDE4 中使用 Firefox 的“插件容器”用于 Flash 播放器时,我想自动禁用屏幕保护程序。 original script 不是我自己写的,但我修正了一点。
#!/bin/sh
# Simple script to demonstrate D-Bus usage
while true
do
# read firefox plugin-container cpu usage
ret=$(top -b -n1 -u "$(whoami)" | gawk '$12 ~ /plugin-containe/ { SUM += $9 }; END { print SUM }')
if [ -n "$ret" ] && [ "$ret" -gt 15 ]; then
idle_time=`qdbus org.kde.screensaver /ScreenSaver GetSessionIdleTime`
if [ "$idle_time" -gt 50 ]; then
qdbus org.kde.screensaver /ScreenSaver SimulateUserActivity
fi
fi
sleep 50
done
现在当我运行脚本时出现此错误:
/home/geo/bin/plugin-containe: line 7: [: 68.75: integer expression expected
我试图让 top 输出整数,但我做不到。
我能做些什么来解决?
问候 乔治
【问题讨论】:
-
如果您认为 awk 输出是问题所在,那么使用
int(SUM)会将该数字截断为整数。 -
非常感谢 Reisner 先生,它现在可以完美运行。我将第 7 行更改为 {print int(SUM)}'` .Regards Georges
标签: bash screensaver qdbus qdbusxml2cpp