在Bash中“暂停”一个“ while”循环

问题描述

我已经为Kobo电子阅读器(https://github.com/tux-linux/Kobo-network-display-viewer)编写了一个Bash脚本,该脚本在其上显示了基于Linux的计算机屏幕。以下是其工作原理的粗略简历:
1。。Gnome屏幕快照获取屏幕的实时屏幕快照,这些屏幕快照放置在/ tmp中并不断被替换。
2。屏幕快照通过SCP,SSH发送到托管小型Linux系统的Kobo的/ tmp目录。
3。。我使用一个库在屏幕上显示图像:https://github.com/NiLuJe/FBInk
4。。此过程重新开始,从而导致eInk屏幕上的图像不断更新(如我所写的那样恒定)。

好吧,这似乎还可以。但是我的问题是eInk屏幕有使用寿命。当eInk屏幕不断更新时(每秒),屏幕上的图像会在某些时候不可避免地造成磨损(我认为)。 但是,这些屏幕的一大优点是,如果您在屏幕上留下静止图像,则除了显示它所花费的时间外,它不会磨损。
因此,我想做的是在主机的屏幕截图相同时“捕获”或“暂停”“ while”过程(下面的代码),以仍然在屏幕上显示图像(该图像将保留)因为存在eInk屏幕),但请留在那里,直到'diff'或类似的命令发现其中的不同之前,才对其进行更新。

我对Bash编程不了解,所以任何帮助将不胜感激。 这是代码

while :; do read -r -p 'IP: ' ip && break; done
while :; do read -r -p "Your Kobo device screen width resolution: " width && break; done
while :; do read -r -p "Your Kobo device screen height resolution: " height && break; done
    sshpass -p test ssh root@$ip 'watch -n 30 "fbink -H -k -f | tee -a output.txt" &>/dev/null &'
    while true; do gnome-screenshot -p --file=/tmp/continuous.png && sshpass -p test scp /tmp/continuous.png root@$ip:/tmp && sshpass -p test ssh root@$ip 'fbink -g file=/tmp/continuous.png,w='$width',h='$height''; done

仅供参考,“ fbink -k -f”是每30秒刷新一次屏幕。
谢谢您的时间!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...