Evitar que a tela desligue quando assistir a vídeos no XBMC [closed]

8

Em 12.04, a tela nunca foi dormir enquanto assistia a vídeos no XBMC. No entanto, depois de atualizar para o 12.10 e não alterar as configurações, ele faz.

Existe alguma maneira de impedir que a tela seja desligada automaticamente durante a reprodução de um vídeo no XBMC, sem realmente desativar a tela de desligar em outros momentos?

Idealmente, existe uma configuração específica do XBMC para isso? Foi este um recurso do XBMC que agora está de alguma forma quebrado em 12.10 ou isso mudou devido a alguma outra alteração não-XBMC no Ubuntu?

    
por thomasrutter 16.01.2013 / 23:20

5 respostas

7

Este parece ser um bug no pacote XBMC para o ubuntu

Não sei qual versão você instalou, mas a versão do PPA * não parece ter no meu sistema. Isso pode ser porque eu tenho configurações diferentes no Ubuntu, é claro, então sua geração pode variar.

Se você não fizer isso, você pode tentar usar o XBMC como uma sessão (na sua tela de login, pressione o logotipo do ubuntu ao lado do seu nome e selecione XBMC. Você não terá unidade, mas apenas XMBC em tela cheia). As configurações para a unidade não estarão lá, então você pode ter a sorte de não ter um protetor de tela. (Se você tiver auto-login definido, você precisa pressionar o logout para obter a tela de login)

* link

    
por Nanne 23.01.2013 / 11:58
11

Podemos criar um script de shell que simularia o movimento do mouse em um intervalo especificado (somente quando o XBMC estiver sendo executado) e impedir que a tela seja desativada.

Siga os passos:

  1. Instale as ferramentas necessárias:

    Precisamos de xdotool fazeressetrabalhoparanós.Instale-oexecutandooseguintecomandonoterminal:

    sudoapt-getinstallxdotool
  2. Oscript:

    SalveoseguintescriptemqualquerlugarnoseuPC.Vocêpodemodificarsleep_perioddeacordocomsuasnecessidades,euconfigureiem60segundos.Oscriptverificaseexisteumprocessochamadoxbmc.binemexecução;eseencontrarum,elefazumloopparasimularomovimentodomouseenquantooprocessoestáativo.Casocontrário,verificaoprocessonovamenteapósointervaloespecificado.

    #!/usr/bin/envbashsleep_period=60s#secondsmouse_x=0mouse_y=0movement_px=2mouse_x=$(xdotoolgetmouselocation2>/dev/null|sed-e's/x://'-e's/y//'-e's/screen:.*$//'-e's///'|awk'BEGIN{FS=":"} {print $1}')
      mouse_y=$(xdotool getmouselocation 2>/dev/null |  sed -e 's/x://' -e 's/y//' -e 's/ screen:.*$//' -e 's/ //' | awk 'BEGIN {FS=":"} {print $1}')
    
    while true; do
      if [[ $(pidof xbmc.bin | wc -w) -gt 0 ]]; then
        while [[ $(pidof xbmc.bin | wc -w) -gt 0 ]]; do
          xdotool mousemove $((mouse_x+${movement_px})) $((mouse_y+${movement_px}))
          xdotool mousemove $((mouse_x-${movement_px})) $((mouse_y-${movement_px}))
          sleep ${sleep_period}
        done
      else
        sleep ${sleep_period}
      fi
    done
    
  3. Torne este script executável:

    Clique com o botão direito no arquivo que você acabou de salvar > > Selecione Propriedades > > Na aba Permission , coloque a marca de seleção em Execute .

  4. Executeestescriptautomaticamenteemtodasasinicializações:

    PodemosfazerissocomaajudadeStartupApplications.AbraoseutraçopressionandoEntereconsulteStartupApplications>>NajanelaStartupApplications,cliqueemAdicionar>>Então,nacaixadediálogoqueaparece,preenchaasinformações:

    Nome:opcional,oquevocêquisernomearisso.

    Comando:caminhoparaoarquivoemquevocêsalvou.

    Comentário:opcional,sevocêdesejaadicionaralguns.

  5. Reinicie seu sistema e curta seus filmes com o XBMC.

Como usá-lo com outros aplicativos

Este foi um exemplo para o XBMC (Nome do processo xbmc.bin ). No entanto, ele também pode ser usado para qualquer outro processo de sua escolha apenas substituindo xbmc.bin no script mencionado na etapa 2 pelo nome do processo desejado. Encontre as seguintes linhas no script acima:

while true; do
  if [[ $(pidof xbmc.bin | wc -w) -gt 0 ]]; then
    while [[ $(pidof xbmc.bin | wc -w) -gt 0 ]]; do

E substitua xbmc.bin nas duas linhas 2 e 3 pelo nome do processo de sua escolha.

Como encontrar o nome do processo

  • Com GUI (GNOME):

    Podemos usar System Monitor para encontrar o nome do processo. Pressione Super para abrir o Dash e consulte "System Monitor" para iniciá-lo. Na aba Processos , podemos encontrar o Nome do Processo como a primeira coluna.

  • ComoTerminal:

    Podemosexecutartopparalistartodososprocessosemexecução.AúltimacolunachamadaCommandnosdáonomedoprocesso(noentanto,eleélimitadoaosprimeiros15caracteres).

Aqui podemos ver que o Firefox acabou de ser chamado de firefox . Então, se queremos esse comportamento quando o Firefox está rodando; substituiríamos xbmc.bin no script com firefox e todo o resto funcionaria muito bem.

Confirmação: encontrei o script aqui . No entanto, fiz as modificações necessárias para torná-lo compacto e satisfazer as exigências da questão.

    
por Aditya 23.01.2013 / 11:09
8

Uma solução muito simples é a cafeína . A cafeína é uma aplicação de barra de status capaz de impedir temporariamente a ativação tanto do protetor de tela quanto do modo de economia de energia do "sono".

A ativação é tão fácil quanto clicar no indicador da barra de status, mas também é possível configurá-lo de forma a desativar automaticamente o protetor de tela ao iniciar o xbmc. Veja a imagem abaixo

SevocêestiverusandooGnome,podeinstalara extensão do gnome da cafeína . Se não, para o Ubuntu até 15.04 (viva) você pode instalar cafeína a partir da barra de ativação ppa:

sudo add-apt-repository ppa:caffeine-developers/ppa
sudo apt-get update
sudo apt-get install caffeine

a partir de 15.10 você pode instalar sem o ppa

sudo apt install caffeine

Aproveite!

    
por Gerhard Burger 27.01.2013 / 20:58
0

Eu uso isso em ~ / bin /:

#!/bin/bash

# ssoff - disable screensaver and power mgmt
pkill xscreensaver
xset s 0
xset -dpms
#!/bin/bash

# sson - activate screen and power mgmt
xscreensaver > /dev/null 2>&1 &
xset s 100
xset +dpms

é claro que você pode criar um ícone para executá-los, mas também não uso o XBMC

    
por jamon 29.01.2013 / 01:50
0

Todas essas soluções desligam a proteção de tela sempre que o xbmc está em execução, não apenas quando está reproduzindo vídeos. Como tem um servidor UPnP embutido, deixo-o funcionando 24 horas por dia, 7 dias por semana, mas só quero desativar o protetor de tela quando um vídeo estiver sendo reproduzido localmente.

Veja o que eu criei: ative o suporte a http e JSON no XBMC. Em seguida, faça um pedido para descobrir se o jogador está ativo ou não. Se estiver, envie um comando xscreensaver -disable (você pode ajustá-lo conforme o seu protetor de tela). Se não, não faça nada. Verificar a cada 50 segundos é suficiente para mim.

Código Python aqui: link

    
por SumnerHayes 02.09.2014 / 02:23