【问题标题】:dwm xsetroot CPU usage display with awkdwm xsetroot CPU 使用率显示与 awk
【发布时间】:2011-02-19 13:31:09
【问题描述】:

我在 Arch Linux 中使用 dwm 平铺窗口管理器。我想自定义顶部栏显示。我已经添加了日期、内存、现在播放和正常运行时间的东西,但是 CPU 显示对我不起作用。当我尝试运行代码以在终端中显示 CPU 使用率时,它运行良好,但是当我将它放在顶部栏中时它不起作用。它根本不显示任何东西。代码如下:

while true; do
    xsetroot -name "Memory $(free -m | grep '^Mem' | awk '{print "total: " $2 "MB used: " $3"MB"}') | CPU $(top -n 1 | grep '^Cpu' | tr -d 'usy,' | awk '{print "user " $2 ", sys " $3}') | Uptime: $(uptime | awk '{print $3}' | tr -d ',') | Now playing: $(ncmpcpp --now-playing | tr -d '(:[:digit:])') | $( date +"%F %R" )"
    sleep 20s
done &

我所说的部分是在“CPU”字符串之后。代码在我的 .xinitrc 中,正如我所说,除了 CPU 显示,一切都很好。

【问题讨论】:

    标签: linux cpu-usage dwm


    【解决方案1】:

    您可以通过执行 top 来解决此问题,并带有标志 -b 用于批处理模式。只有在这种模式下,您才能将输出作为普通文本发送到其他程序。所以这个循环将(希望)完成这项工作:

    while true; do
        xsetroot -name "Memory $(free -m | grep '^Mem' | awk '{print "total: " $2 "MB used: " $3"MB"}') | CPU $(top -bn 1 | grep '^Cpu' | tr -d 'usy,' | awk '{print "user " $2 ", sys " $3}') | Uptime: $(uptime | awk '{print $3}' | tr -d ',') | Now playing: $(ncmpcpp --now-playing | tr -d '(:[:digit:])') | $( date +"%F %R" )"
        sleep 20s
    done &
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多