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?
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)
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:
Installez les outils nécessaires:
Nous aurions besoin de xdotool faire ce travail pour nous. Installez-le en exécutant la commande suivante dans le terminal:
Sudo apt-get install xdotool
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
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.
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.
Redémarrez votre système et profitez de vos films avec XBMC.
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.
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.
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).
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.
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
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!
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/
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