Carregue a imagem em tela cheia na inicialização e feche-a

0

Existe alguma maneira (talvez com o ImageMagik ou algo assim) para carregar uma imagem em tela cheia a partir de um script de shell e depois fechá-lo?

Eu tenho um PC de mídia que carrega kodi, mythTV e algumas outras coisas. Eu estava esperando que ao invés de mostrar a área de trabalho etc, eu poderia adiar o carregamento do kodi até que tudo esteja pronto, e apenas mostrar uma imagem em tela cheia em vez da área de trabalho. Então, o shell script (que estaria nos itens de inicialização) seria algo como:

#!/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 &

Atualmente tenho tudo funcionando, o único problema é que ele fica na área de trabalho por 5sec (enquanto outro aplicativo, o AndroMouse é executado) e então carrega o kodi, que então espera que o mythTV inicie antes de carregar o plugin PVR.

Eu não quero mostrar a área de trabalho (se eu não carregar o AndroMouse você nunca vê a área de trabalho, vai direto para a Kodi), ao invés disso eu quero mostrar uma imagem de carregamento de tela cheia, e vou fazer a Kodi aguardar o carregamento até que o mito seja feito.

Como posso carregar a imagem em tela cheia antes de mais nada (antes o máximo possível) e, em seguida, tirar a imagem novamente quando chegar a essa parte do script?

    
por MicWit 09.02.2016 / 07:28

1 resposta

0

OK, por enquanto eu tenho algo que funciona, se alguém aparecer com uma solução melhor (e explicar por que é uma solução melhor), vou aceitar essa resposta.

Então eu uso o eog (Eye of gnome), e para lançá-lo use este comando:

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

Isso carrega o arquivo image loader.png do diretório Pictures do diretório home para o eye of gnome. Ele usa as opções de -f (tela cheia), -w (modo de janela única) e -g (não uma galeria) conforme é carregado. O modo de janela única permite que você o inicie quantas vezes quiser (para trazê-lo de volta ao primeiro plano) sem abri-lo pela segunda vez.

Depois, há o "1 > / dev / null 2 > & amp; 1 & amp;" depois disso. Isso basicamente coloca todos os erros na saída e canaliza a saída para NULL, para que nenhum erro seja retornado ao script que faz a chamada (pois isso causa problemas com esse script). O & amp; no final apenas faz com que ele execute o seu próprio segmento para que você não espere que ele feche antes de passar para a próxima parte.

Quando você quiser se livrar da imagem, basta usar a chamada:

pkill eog

NOTA: Isto irá matar todas as instâncias do eog, por isso certifique-se de não estar usando o eog em nenhum outro lugar no momento (ou qualquer script etc que tenha eog no nome).

Então, para juntar isso em um arquivo .sh de amostra, você poderia fazer:

#!/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

Isto irá colocar a imagem, iniciar qualquer programa em segundo plano, etc., iniciar o Kodi, aguardar 5 segundos e depois fechar a imagem. A razão para esperar os 5 segundos é certificar-se de que o Kodi está na tela antes de se livrar da imagem. O Kodi é carregado de qualquer forma (desde que você não faça a chamada para eog após o comando Kodi de inicialização).

    
por MicWit 10.02.2016 / 04:48