在启动时加载全屏图像然后关闭它

在启动时加载全屏图像然后关闭它

有没有什么方法(也许使用 ImageMagik 或其他东西)从 shell 脚本加载全屏图像然后关闭它?

我有一台可以加载 kodi、mythTV 和其他一些东西的媒体电脑。我希望可以推迟加载 kodi 直到一切准备就绪,而不是显示桌面等,只显示全屏图像而不是桌面。因此,shell 脚本(位于启动项中)看起来应该类似于:

#!/bin/bash
#first load the image full screen
display -options here ~/Pictures/loader.jpg

#do other stuff here and sleep if required
loadstuff
sleep 10

#close the image
display -close orwhatever

#load kodi
kodi &

我目前一切正常,唯一的问题是它在桌面上停留 5 秒钟(同时另一个应用程序 AndroMouse 运行),然后加载 kodi,然后等待 mythTV 启动后再加载 PVR 插件。

我不想显示桌面(如果我不加载 AndroMouse,您就永远看不到桌面,直接进入 Kodi),相反,我想显示全屏加载图像,我只会让 Kodi 等待加载,直到神话完成。

我怎样才能在执行任何其他操作之前(尽可能早地)全屏加载图像,然后在到达脚本的那部分时再次将图像取下?

答案1

好的,现在我有一个可行的方法,如果有人想出更好的解决方案(并解释为什么它是更好的解决方案)我会接受这个答案。

因此我使用 eog(Eye of gnome),并使用以下命令启动它:

eog -f -w -g ~/Pictures/loader.png 1>/dev/null 2>&1&

因此,这会将主目录中图片目录中的图像 loader.png 加载到 gnome 之眼中。加载时,它会使用 -f(全屏)、-w(单窗口模式)和 -g(不是图库)选项。然后,单窗口模式允许您根据需要多次启动它(将其带回前台),而无需再次打开它。

然后后面是“1>/dev/null 2>&1&”。这基本上将所有错误放到一个输出中,并将该输出传送到 NULL,这样就不会将任何错误反馈给进行调用的脚本(因为这会导致该脚本出现问题)。末尾的 & 只是让它运行自己的线程,因此您不必等待它关闭再继续下一部分。

当你想删除图像时,你可以使用以下调用:

pkill eog

注意:这将终止 eog 的任何实例,因此请确保您当时没有在其他任何地方使用 eog(或名称中带有 eog 的任何脚本等)。

因此,要将其放在示例 .sh 文件中,您可以执行以下操作:

#!/bin/bash
#set the image to use for the loader
loadImage=~/Pictures/loader.png

#load the loader image
eog -f -w -g $loadImage 1>/dev/null 2>&1&

#load any other apps required
~/scripts/andromouse/andromouse.sh 1>/dev/null 2>&1&
~/scripts/startMyth.sh 1>/dev/null 2>&1&

eog -f -w -g $loadImage 1>/dev/null 2>&1&

#launch kodi over the image and then get rid of the image
~/scripts/startKodi.sh
sleep 5
pkill eog

exit

这将把图像放上去,启动您需要的任何后台程序等,启动 Kodi,等待 5 秒钟,然后关闭图像。等待 5 秒钟的原因是为了确保 Kodi 在屏幕上,然后再删除图像。无论如何,Kodi 都会加载到顶部(只要您在启动 Kodi 命令后不调用 eog)。

相关内容