Arquivo

Posts Tagged ‘screensaver’

Parando o gnome-screensaver durante uma reprodução de video


Imagine a cena. Você chega ancioso na frente do seu PC com um arquivo de video e logo chama o mplayer pra rodar ele. Na melhor parte, aquela que você não poderia perder,  justo aquela, aparece o Gnome screensaver!  A única coisa que você vê — ou ouve —  é o som que você não queria  para não perder a surpresa! Vai ter de ir P da vida até o PC, digitar a senha, voltar a cena..  Foi depois de passar um pouco de raiva com isso que resolvi dar um jeito na coisa…

Meu player preferido para ver videos é o mplayer e a solução principal que busquei foi pra ele.  Mas eu obtive duas soluções para esse problema. A primeira é específica do mplayer e a segunda você pode aplicar a qualquer outro programa que não forneça a opção de parar a proteção de tela.

A primeira e mais fácil é dar uma “cutucada” no gnome-screensaver  antes que seja ativado.  O comando responsável por isso é o

$ gnome-screensaver-command --poke

Essa opção permite simular alguma atividade no PC como se você estivesse na frente dele. No entanto, o comando precisa ser executado periodicamente para que o screensaver não seja ativado…

O mplayer tem a opção heartbeat-cmd que permite que uma determinado comando seja executado a cada 30 segundos via função system(). Essa função executa um determinado comando no shell. Assim, podemos fazer com que ele dê essas cutucadas no gnome-screensaver pra nós! Olha que beleza! Adicione a seguinte linha ao seu arquivo ~/.mplayer/config

heartbeat-cmd="gnome-screensaver-command --poke"

Ou então use essa opção diretamente na linha de comando para executar o arquivo meu_filme.avi (mas isso é falta de elegância e um tédio, que fique claro! :-))

$ mplayer -heartbeat-cmd "gnome-screensaver-command --poke" meu_filme.avi

Essa foi a primeira opção que me deparei e sim, resolve o problema. Mas pode surgir outro. Eu percebia que a cada 30 segundos o video que estava assistindo dava uma pequena travada e isso começou a incomodar. Pode ser que não ocorra com você, mas comigo não teve jeito. Acredito que seja por causa a pouco memória que estava usando. De qualquer maneira,  isso me levou ao plano B que achei mais foi mais adequado nessa situação: parar o gnome-screensaver, executar o video e depois fazer ele rodar de novo.  Na verdade, até acho mais inteligente essa alternativa do que ficar se “lembrando” a todo momento de cutucar o pobre coitado.

Assim, escrevi um pequeno script — stopgs.sh — que permite que isso seja feito. Ele funciona no Gnome ou no XFCE 4 (ambos usam gnome-screensaver) e o testei no Fedora 10, mas acredito que funcione em outra distro sem problemas.. Futuramente pretendo também incluir o KDE na jogada, mas todas as minhas tentativas de fazer funcionar no KDE falharam. Eu ainda não achei um jeito de controlar o screensaver do KDE. 😦

Como deixei o script muito bem comentado, vou dispensar a parte de explicar como proceder, deixando para os comentários que estão nele fazerem isso. Ele está disponível para download aqui.

Divirta-se! 🙂