web-dev-qa-db-fra.com

Empêcher l'écran de s'éteindre lorsque vous regardez une vidéo dans XBMC

En 12.04, l'écran ne s'endormait jamais en regardant des vidéos dans XBMC. Cependant, après la mise à niveau vers 12.10 et la modification de aucun paramètre, c'est le cas.

Est-il possible d'empêcher l'écran de s'éteindre automatiquement lors de la lecture d'une vidéo dans XBMC, sans pour autant empêcher l'écran de s'éteindre à d'autres moments?

Idéalement, existe-t-il un paramètre spécifique à XBMC pour cela? S'agissait-il d'une fonctionnalité de XBMC qui est maintenant brisée dans la version 12.10 ou a-t-elle changé en raison d'une autre modification non-XBMC dans Ubuntu?

8
thomasrutter

Cela semble être un bug dans le paquet XBMC pour Ubunt

Je ne suis pas sûr de la version que vous avez installée, mais la version de PPA * ne semble pas l'avoir sur mon système. C'est peut-être parce que j'ai différents paramètres dans Ubuntu, bien sûr, votre milleage peut donc varier.

Si vous ne le faites pas, vous pouvez essayer d’utiliser XBMC en tant que session (sur votre écran de connexion, appuyez sur le logo Ubuntu à côté de votre nom et sélectionnez XBMC. Vous n’obtiendrez pas l’unité, mais uniquement le mode plein écran XMBC). Les paramètres pour l'unité ne seront pas là, vous pouvez donc ne pas avoir d'écran de veille. (Si vous avez défini la connexion automatique, vous devez appuyer sur logout pour obtenir l'écran de connexion)

* https://launchpad.net/~team-xbmc/+archive/ppa

7
Nanne

Nous pouvons créer un script Shell qui simule les mouvements de la souris à un intervalle spécifié (uniquement lorsque XBMC est en cours d'exécution) et empêche votre écran de s'éteindre.

Suis les étapes:

  1. Installez les outils nécessaires:

    Nous aurions besoin de xdotool Install xdotool faire ce travail pour nous. Installez-le en exécutant la commande suivante dans le terminal:

    Sudo apt-get install xdotool
    
  2. Le script:

    Enregistrez le script suivant n'importe où sur votre PC. Vous pouvez modifier sleep_period en fonction de vos besoins, je l’ai réglé à 60 secondes. Le script vérifie si un processus appelé xbmc.bin est en cours d'exécution; et s'il en trouve un, il boucle alors pour simuler le mouvement de la souris pendant que le processus est actif. Sinon, le processus est à nouveau vérifié après l'intervalle spécifié.

    #!/usr/bin/env bash
    
    sleep_period=60s #seconds
    
    mouse_x=0
    mouse_y=0
    
    movement_px=2
      mouse_x=$(xdotool getmouselocation 2>/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. Rend ce script exécutable:

    Faites un clic droit sur le fichier que vous venez de sauvegarder >> Sélectionnez Properties >> Dans le Permission onglet, cochez la case Execute.

    make the script executable

  4. Exécutez ce script automatiquement à chaque démarrage:

    Nous pouvons le faire avec l’aide de Applications de démarrage . Ouvrez votre tableau de bord en appuyant sur Enter et interrogez Startup Applications >> Dans la fenêtre Applications de démarrage, cliquez sur Add >> Ensuite, dans la boîte de dialogue qui apparaît, remplissez les informations:

    Nom: facultatif, peu importe le nom.

    Commande: chemin du fichier où vous l'avez enregistré.

    Commentaire: facultatif, si vous souhaitez en ajouter.

    startup applications preferences

  5. Redémarrez votre système et profitez de vos films avec XBMC.


Comment l'utiliser avec d'autres applications

Ceci était un exemple pour XBMC (nom du processus xbmc.bin). Cependant, il peut également être utilisé pour tout autre processus de votre choix en remplaçant simplement xbmc.bin dans le script mentionné à l'étape 2 par le nom du processus souhaité. Recherchez les lignes suivantes dans le script ci-dessus:

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

Et remplacez xbmc.bin aux lignes 2 et 3 par le nom de processus de votre choix.


Comment trouver le nom du processus

  • avec interface graphique (GNOME):

    Nous pouvons utiliser System Monitor pour trouver le nom du processus. presse Super pour ouvrir Dash et interrogez "Moniteur système" pour le lancer. dans le Processes Tab, nous pouvons trouver le nom du processus dans la première colonne.

    System Monitor

  • Avec terminal:

    Nous pouvons exécuter top pour répertorier tous les processus en cours. La dernière colonne appelée Command nous donne le nom du processus (toutefois, il est limité à 15 caractères).

    Terminal <code>top</code> command

Ici, nous pouvons voir que Firefox est simplement nommé firefox. Donc, si nous voulons ce comportement lorsque Firefox est en cours d’exécution; nous remplacerions xbmc.bin dans le script par firefox et tout le reste fonctionnerait parfaitement.


Remerciement: J'avais trouvé le script ici . Cependant, j'ai apporté les modifications nécessaires pour le rendre compact et répondre aux exigences de la question.

11
Aditya

Une solution très simple est caféine . La caféine est une "application de la barre d'état capable d'empêcher temporairement l'activation de l'économiseur d'écran et du mode d'économie d'énergie" en veille ".

Son activation est aussi simple que de cliquer sur l'indicateur de la barre d'état, mais vous pouvez également le configurer de manière à désactiver automatiquement l'économiseur d'écran lorsque vous démarrez xbmc. Voir la capture d'écran ci-dessous

enter image description here

Si vous utilisez Gnome, vous pouvez installer l'extension du gnome de la caféine . Sinon, pour Ubuntu jusqu'à 15.04 (vives), vous pouvez installer de la caféine à partir du tableau de bord ppa:

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

à partir de 15h10, vous pouvez installer sans ppa

Sudo apt install caffeine

Prendre plaisir!

8
Gerhard Burger

Toutes ces solutions désactivent l'économiseur d'écran chaque fois que xbmc est en cours d'exécution, et pas uniquement lors de la lecture de vidéos. Comme il possède un serveur UPnP intégré, je le laisse fonctionner 24 heures sur 24, 7 jours sur 7, mais je souhaite uniquement désactiver l'économiseur d'écran lorsqu'une vidéo est lue localement.

Voici ce que j'ai proposé: activez la prise en charge de http et JSON dans XBMC. Puis boucle en faisant une demande pour savoir si le joueur est actif ou non. Si c'est le cas, lancez une commande xscreensaver -disable (vous pouvez l'ajuster en fonction de votre économiseur d'écran). Sinon, ne faites rien. Vérifier toutes les 50 secondes me suffit amplement.

Code Python ici: http://sumnerhayes.com/software/

0
SumnerHayes

Je les utilise dans ~/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

bien sûr, vous pouvez faire une icône pour les exécuter, mais je n'utilise pas non plus XBMC

0
jamon