quarta-feira, 25 de agosto de 2010

Fazer um vídeo Screensaver

Como colocar um Vídeo como protecção de tela (screensaver)?
Esta dica é para o Ubuntu mas deve ser compatível com todas a distribuições que utilizam o Gnome 2.3

Para começar, vamos precisar do mplayer. Se ainda não tem o mplayer instalado no seu sistema, abra um terminal e use o seguinte comando:

sudo apt-get install mplayer

Agora vamos criar um arquivo video.desktop dentro da pasta /usr/share/applications/screensavers/.

Novamente na consola.

sudo touch /usr/share/applications/screensavers/video.desktop

Abra o arquivo video.desktop no editor de texto gedit, com o seguinte comando:

sudo gedit /usr/share/applications/screensavers/video.desktop

Com o editor de texto aberto, copie para o arquivo o seguinte:

[Desktop Entry]
Encoding=UTF-8
Name=Video
Comment=Video
TryExec=video.sh
Exec=video.sh
StartupNotify=false
Terminal=false
Type=Application
Categories=Screensaver;
OnlyShowIn=GNOME;

Agora vamos criar um arquivo video.sh na pasta /usr/lib/gnome-screensaver/gnome-screensaver, que será um script responsável por executar o mplayer.

sudo touch /usr/lib/gnome-screensaver/gnome-screensaver/video.sh

Vamos abrir o video.sh com o gedit:

sudo gedit /usr/lib/gnome-screensaver/gnome-screensaver/video.sh

Copie para dentro do arquivo o seguinte:

#!/bin/bash

#path video
VIDEO=/home/tuxmind/video-screensaver/arquivo-de-video.ogv

exec mplayer -nosound -nolirc -wid $XSCREENSAVER_WINDOW -nostop-xscreensaver -fs -really-quiet "$VIDEO" -loop 0


Altere a variável VIDEO com o caminho (path) para o seu vídeo.
/home/tuxmind/video-screensaver/arquivo-de-video.ogv é um exemplo :P
Dica: Use um link simbólico para você poder mudar o vídeo, sem ter de editar o scrip, que precisa de privilégios administrativos.

Guarde as alterações, feche o editor de texto, e torne o arquivo executável com o seguinte comando:

sudo chmod 755 /usr/lib/gnome-screensaver/gnome-screensaver/video.sh

E pronto! Agora vá até sistema > Preferências > Protecção de tela (ou ecrã). Procure na lista de sceensaver disponíveis o "Video". É só pré visualizar o resultado final :)


O truque desta dica é a variável $XSCREENSAVER_WINDOW, que diz ao mplayer qual a window ID do secreensaver.
Há uns tempos atrás tentei fazer isto com o mplayer, mas acabei desistindo porque não consegui passar o parâmetro -wid correcto para o mplayer. Tentei de tudo!
Passado tanto tempo "descubro" a variável $XSCREENSAVER_WINDOW na FAQ do gnome-screensaver. Era a peça que faltava. :)

http://live.gnome.org/GnomeScreensaver/FrequentlyAskedQuestions#Can_I_use_xscreensaver_.22hacks.22_with_gnome-screensaver.3F

Moral da história... leiam sempre a FAQ :P

4 comentários :

Hell'sDragon disse...

Muito legal seu tutorial, mais tem um problema, eu consigo configurar o video, mas quando entra a proteção de tela por inatividade, o video não passa, fica uma tela preta sem atividade nenhuma. Tem alguma idéia do que seja?

Obrigado

Hell's Dragon

Hell'sDragon disse...

Muito legal esse tutorial, mais comigo deu um probleminha, na configuração da proteção de tela eu consigo ver o video, mais quando entra a proteção de tela por inatividade o video não aparece, fica uma tela preta sem atividade. Tem idéia do que seja?

Obrigado!

Hell's Dragon

Tuxmind disse...

Olá amigo :)
Você também já deu uma olhada na "Gestão de energia" para ver se o ecrã não é "desligado" quando fica inactivo?
Quando fiz o tutorial usei o Ubuntu 10.04.
Qual a distribuição que você usa e a versão?
E qual a versão do Gnome?

Blog do Augusto disse...

Muito bom o tutorial! Parabéns! Utilizei no Ubuntu Linux 9.10 e funcionou 100%, mas agora estou com o 12.04 LTS instalado, pois a Canonical não dá mais suporte ao 9.10, qual o diretório que substitui o /usr/lib/gnome-screensaver/gnome-screensaver/ ???

Obrigado,

Augusto