每隔N秒钟使用watch更新linux中显示的图像会失败

时间:2018-06-17 01:17:10

标签: linux watch

我有一些代码可以在服务器上自动生成机器学习图,并在适当的时间向IoT客户端发送图表以供显示。

数据管道有效。但是,当我推动新绘图时,我几乎实时更新图像的尝试无效。

目前我的方法是:

user@client:~/data_viz $ watch -n3 feh -F plot0.png --zoom 200

其中feh是一些任意轻量级的Linux图像查看器。

问题是,即使文件(plot0.png)被成功覆盖,查看器也不会更新,直到您终止它并重新启动它。

更新:我已经通过下面的Bash方法实现了世界上最糟糕的版本。现在唯一的问题是它每秒闪烁一次桌面,如果我不解决这个问题,无疑会导致癫痫发作......

$ watch -n2 sudo bash watch.sh

其中watch.sh

#!/bin/bash
i="0"    
while [ $i -lt 4 ]
do
pkill feh
sleep 1
feh -F plot0.png --zoom 200&
sleep 1
pkill feh
done

即使使用Esc和ctrl + c,似乎也无法实际打破无限循环。我希望循环是无限的,但我也希望能够在必要时中断它。

1 个答案:

答案 0 :(得分:1)

虽然feh与大多数图片查看器/编辑器一样,但不会在图像文件中查看更改并在发生更改时自动重新加载,但它会提供导致-R, --reload <int>的{​​{1}}选项}在指定为feh transpire的秒数后重新加载图像。例如:

<int>

会导致feh --reload 5 image.png feh秒重新加载image.png5解释说:

man 1 feh