Parando o Screeensaver do Gnome durante uma reprodução no mplayer

Publicado por Elder Marco 07/04/2009 (última atualização em 09/08/2010)

[ Hits: 6.683 ]

Homepage: http://www.eldermarco.com

Download stopgs.sh

Download mplay (versão 2)




Um script para parar o Gnome Screensaver durante uma reprodução do mplayer.

Ainda tentando achar um meio de incluir o KDE na jogada.. :-)

  



Versões atualizadas deste script

Versão 2 - Enviado por Elder Marco em 29/07/2010

Changelog: - Esse script foi modificado e agora somente usa o mplayer, embora seja apenas uma questão de trocar 'mplayer' por outro player no código.
- Os códigos estão mais limpos e agora usa-se uma maneira mais inteligente para verificar se o gnome-screensaver está mesmo rodando.

Download mplay


Esconder código-fonte

#!/bin/bash
##
##  Descrição: Desativa o gnome-creensaver enquanto um video é exibido pelo mplayer,
##                  gmplayer ou qualquer outro player que não tenha a opção de parar a 
##                  proteção de tela do gerenciador de janelas.
##
##  Autor    : Elder Marco/ www.idiossincrasias.com
##  Data     : 28/03/2009
##  Nome padrão do arquivo: stopgs.sh
##  Observação: Esse script foi testado no Fedora 10, mas acredito que funcione em 
##      outras distros, sem problemas.
##  Uso:
##         Salve esse script em ~/bin e certifique-se de que esse caminho esteja no seu 
##         PATH.Dê permissão de execução para ele e insira a seguinte linha em seu arquivo
##         ~/.bashrc:
##
##      alias <player_ap>='stopgs.sh <player>'
##
##        onde <player_ap> é um apelido para o player que você está utilizando e <player>
##         é de fato o comando para chamá-lo.
##
##   Exemplo.    Você quer parar o gnome-screensaver durante a reprodução de um video
##        no mplayer. Decide então criar um alias chamado 'mplay' para sempre que
##       chamá-lo ele pare a proteção de tela e inicie o mplayer com o video 
##       passado como parâmetro e depois reinicie ela novamente. Simples, adicione 
##       essa linha ao seu ~/.bashrc:
##
##                      alias mplay='stopgs.sh mplayer'
##
##         Depois releia o arquivo ~/.bashrc:
##
##        $ source ~/.bashrc
##   
##         Agora é só usar o comando mplay no lugar de mplayer na linha e comando
##       sempre que quiser parar o gnome-screensaver. Se não quiser, chame o mplayer 
##               mesmo. :-)
##                 Se você estiver utilizando outro gerenciador de janelas que não o Gnome ou
##               XFCE, não fará diferença do ponto de vista prático usar o comando mplay ou
##               mplayer seguindo o exemplo dado acima.  
###############################################################################################

## O primeiro argumento é, conforme editado no arquivo ~/.bashrc, o player que usuário quer 
## chamar. Note que, a princípio, qualquer programa pode ser chamado por esse script.
PLAYER=$1
shift

## Só é alterada se o screensaver for parado. Passa a ser zero então.
parou=1

## Se o usuário não estiver usando Gnome ou XFCE, o script não tentará parar a  proteção de tela. 
## Supõe-se que tanto o Gnome quanto o XFCE estejam rodando o gnome-screensaver.
if [ "$DESKTOP_SESSION" = "gnome" -o "$DESKTOP_SESSION" = "xfce4" ]; then
   echo -n "Parando o gnome-screensaver... "
   gnome-screensaver-command --exit 1>/dev/null 2>&1
   parou=$?

   ## Verifica se o screensaver parou mesmo. Isso é útil apenas para o caso de ocorrer
   ## algum problema, como não estar usando o gnome-screensaver por exemplo.
   if [ $parou -eq 0 ]; then
      echo "pronto."
   else
      echo -e "{FONTE}33[31;1m FALHOU.{FONTE}33[m" 
                echo "Pode ser que o gnome-screensaver não esteja rodando."
      echo
   fi
fi

## Chama o mplayer, gmplayer ou outro para carregar o video e todos os argumentos são 
## passados a ele.
"$PLAYER" $@

## Depois que termina, recarrega  proteção de tela caso ela sido parada.
[ $parou -eq 0 ] &&
{
   echo -n "Recarregando o gnome-screensaver... "
   gnome-screensaver
   echo "pronto."
}

Scripts recomendados

Estranho

Script para controle de banda usando FreeRADIUS, PPPoE e HTB

Cadastro fácil e seguro no NCSA

Menu no terminal usando Shell Script

zwtsc - cliente gráfico para Terminal Service


  

Comentários
[1] Comentário enviado por eldermarco em 07/04/2009 - 17:53h

Existe uma outra maneira de resolver isso que seria usar o comando a opção -heartbeat-cmd. Algo assim:

mplayer -heartbeat-cmd "gnome-screensaver-command --poke" seu_filme.avi

Isso fará que com que a cada 30 seg. esse comando entre aspas seja executado e "cutuque" o screensaver do mplayer simulando uma atividade no PC. A desvantagem é que no meu caso começou a dar pequenas travadas e não gostei. Assim,escrevi esse script.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts