如何解决在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 举报,一经查实,本站将立刻删除。