2

我为 Kobo 电子阅读器 ( https://github.com/tux-linux/Kobo-network-display-viewer ) 编写了一个 Bash 脚本,该脚本在其上显示基于 Linux 的计算机屏幕。以下是其工作原理的粗略介绍:
1. Gnome-screenshot 对屏幕进行实时截图,这些截图放在 /tmp 中并不断被替换。
2.截图通过 SCP、SSH 发送到托管小型 Linux 系统的 Kobo 的 /tmp 目录。
3.我使用一个库在屏幕上显示图像:https ://github.com/NiLuJe/FBInk
4.这个过程重新开始,导致不断(我可以写它是恒定的)图像更新在电子墨水屏幕上。

嗯,这似乎没问题。但我遇到的问题是 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 秒刷新一次屏幕。
谢谢你的时间!

4

0 回答 0