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.692 ]

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

Reinicia todos os trabalhos de todas as filas CUPS

Script para conexão em horário determinado

Criando contas de usuario em varios servidores ao mesmo tempo

Instalar splashtop em um pendrive

Meu PC


  

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