【问题标题】:Screen-saver inhibit script屏幕保护程序禁止脚本
【发布时间】: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


【解决方案1】:

如果awk 输出是非整数值的原因,那么您可以使用awk int() 函数将SUM 的值截断为整数值(即int(SUM))。

【讨论】:

    猜你喜欢
    • 2012-01-11
    • 2015-01-09
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 2016-11-11
    • 1970-01-01
    相关资源
    最近更新 更多