linux - 更新 zenity 窗口的内容

标签 linux bash shell zenity

我正在尝试为一个名为 showbf 的程序制作一个小型监视器,该程序每隔一定时间打印一次更新。

我最好的尝试如下

ssh <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e590968097a5968097938097cb838a8a" rel="noreferrer noopener nofollow">[email protected]</a> "exit" 
if [ $? -ne 0 ]
then 
    ssh-add < /dev/null
fi

while true
do
resources=$(ssh <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3441475146744751464251461a525b5b" rel="noreferrer noopener nofollow">[email protected]</a> "showbf")
if (echo "$resources" | grep -q "[0-9] procs") 
then
    echo $(echo "$resources" | awk '/[0-9] procs/ {print $1,"for",$5}')
else 
    echo "No procs available."
fi

if [[ $? == 0 ]] || [[ $? == 1 ]]
then
    exit 0
fi
sleep 1
done | zenity --text-info --height=200 --width=300 \
    --title "Resources available for immediate use (showbf)" 

我真的不喜欢它,因为它将结果附加到预览中。它变得非常困惑。我想使用像 zenity --list 这样的东西(结果是 2 列,可用的 proc 数量和 walltime)。但是,一旦 zenity 读取数据,它就不会更新其内容。有任何想法吗??

使用 while 循环重新创建窗口不是我想要的,因为新窗口被替换在屏幕中央。

非常感谢 萨尔瓦多

最佳答案

如果您还没有解决这个问题,您确实应该查看 yad ,一个正在积极改进的 zenity 分支。我今晚才安装了它(在努力解决 zenity 中的一个错误之后),但如果它能做到你想要的,我不会感到惊讶。例如,我注意到它有一个 --tail 选项。它位于 fedora 的存储库中,该页面包含 deb 包的链接。

关于linux - 更新 zenity 窗口的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5939200/

相关文章:

linux - 错误 : Lapack library not found in compile time (zerobrane, lua,手电筒)

linux - 如何为每个结果调用一个命令?

带有大量单引号和双引号的命令的 Bash 脚本

linux - 如何将本地 shell 变量导出到多命令 ssh 中?

linux - 非破折号相关的错误替换错误

linux - 如何在没有编辑器的情况下将变量 append 到 Shell 文档

linux - 如何在json中进行变量替换

linux - 安全模式如何访问安全/非安全内存?

php - Apache 不在 Linux/OpenSuse 中处理 php 文件

bash - 如何在(负)Bash 条件下使用 OR