屏保禁止脚本

Screen-saver inhibit script

当在 KDE4 中使用 Firefox 的 "plugin-container" 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 ' ~ /plugin-containe/ { SUM +=  }; 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 输出是非整数值的原因,那么您可以使用 awk int() 函数将 SUM 的值截断为整数值(即int(SUM)).