В 12.04 экран никогда не переходил в спящий режим при просмотре видео в XBMC. Однако после обновления до 12.10 и без изменения настроек это происходит.
Есть ли способ предотвратить автоматическое отключение экрана во время воспроизведения видео в XBMC, не отключая отключение экрана в другое время?
В идеале, существует ли для этого XBMC специальный параметр? Была ли это особенность XBMC, которая теперь как-то не работает в 12.10, или она изменилась из-за других изменений в Ubuntu, отличных от XBMC?
Очень простое решение является кофеином. Кофеин является 'приложением строки состояния, которое в состоянии временно предотвратить активацию и экранной заставки и "сна" powersaving режим'.
Включение его так же легко как нажатие на индикатор строки состояния, но можно также настроить его таким образом, что это автоматически отключает экранную заставку при запуске xbmc. См. снимок экрана ниже
При использовании Gnome, можно установить расширение гнома кофеина. В противном случае для Ubuntu до 15,04 (ярких) можно установить кофеин от панели запуска ppa:
sudo add-apt-repository ppa:caffeine-developers/ppa
sudo apt-get update
sudo apt-get install caffeine
от 15,10 вперед можно установить без ppa
sudo apt install caffeine
Приятного отдыха!
Все эти решения отключают заставку при каждом запуске xbmc, а не только при воспроизведении видео. Поскольку у него есть встроенный сервер UPnP, я оставляю его работающим круглосуточно, но я хочу отключить заставку только при локальном воспроизведении видео.
Вот что я придумал: включить поддержку http и JSON в XBMC. Затем сделайте запрос, чтобы узнать, активен игрок или нет. Если это так, введите команду xscreensaver -disable (вы можете настроить это для вашей заставки). Если нет, ничего не делай. Проверка каждые 50 секунд - это достаточно для меня.
Код Python здесь: http://sumnerhayes.com/software/
Я использую их в ~ / 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
, конечно, вы можете сделать значок для их запуска, но я также не использую XBMC
Это, похоже, ошибка в пакете XBMC для ubuntu
Я не уверен, какую версию вы установили, но версия из PPA *, похоже, не есть в моей системе. Это может быть потому, что у меня разные настройки в Ubuntu, поэтому ваш milleage может отличаться.
Если вы этого не сделаете, вы можете попробовать использовать XBMC в качестве сеанса (на экране входа в систему нажмите логотип ubuntu рядом с вашим именем и выберите XBMC. Вы не получите единство, а только полноэкранный XMBC). Настройки для единства не будут там, так что вам может повезти, если у вас нет заставки. (Если у вас установлен автоматический вход в систему, вам нужно нажать logout, чтобы открыть экран входа в систему)
Мы можем создать сценарий оболочки, который будет имитировать движение мыши с заданным интервалом (только во время работы XBMC) и предотвращать выключение экрана.
Выполните следующие действия:
Установите необходимые инструменты:
Нам потребуется xdotool ] чтобы сделать эту работу для нас. Установите его, выполнив следующую команду в терминале:
sudo apt-get install xdotool
Сценарий:
Сохраните следующий сценарий в любом месте на вашем ПК. Вы можете изменить sleep_period
в соответствии с вашими потребностями, я установил его на 60 секунд. Скрипт проверяет, запущен ли процесс под названием xbmc.bin
; и если он его находит, то он зацикливается, имитируя движение мыши, пока процесс активен. В противном случае снова проверяет процесс после указанного интервала.
#!/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
Сделать этот сценарий исполняемым:
Щелкните правой кнопкой мыши файл, который вы только что сохранили >> Выберите Свойства kbd>> > На вкладке Разрешения kbd> установите флажок Выполнить kbd>.
Выполнять этот скрипт автоматически при каждом запуске:
Мы можем сделать это с помощью [ 1162] Запуск приложений . Откройте Dash, нажав Enter kbd> и запросив Startup Applications
>> В окне запуска приложений нажмите Добавить kbd> >> Затем, в появившемся диалоговом окне, заполните информацию :
Имя: необязательно, как бы вы это ни назвали.
Команда: путь к файлу, в котором вы ее сохранили.
Комментарий: необязательно, если хотите добавить.
Перезагрузите систему и наслаждайтесь фильмами с помощью XBMC.
Это был пример для XBMC (имя процесса xbmc.bin
). Однако его также можно использовать для любого другого процесса по вашему выбору, просто заменив xbmc.bin
в сценарии, упомянутом в шаге 2, на имя процесса, который вы хотите. Найдите следующие строки в приведенном выше сценарии:
while true; do
if [[ $(pidof xbmc.bin | wc -w) -gt 0 ]]; then
while [[ $(pidof xbmc.bin | wc -w) -gt 0 ]]; do
И замените xbmc.bin
в обеих строках 2 и 3 на имя процесса по вашему выбору.
С GUI (GNOME):
Мы можем использовать System Monitor
, чтобы найти Название процесса. Нажмите Super kbd>, чтобы открыть Dash, и запросите «System Monitor», чтобы запустить его. На вкладке Процессы kbd> мы можем найти имя процесса в качестве первого столбца.
С терминалом:
Мы можем запустить top
для просмотра списка всех запущенных процессов. Последний столбец с именем Command
дает нам имя процесса (однако он ограничен первыми 15 символами).
Здесь мы можем видеть, что Firefox просто назван как firefox
. Итак, если мы хотим, чтобы такое поведение было запущено Firefox; мы заменили бы xbmc.bin
в скрипте на firefox
, и все остальное будет работать нормально.
Благодарность: Я нашел сценарий здесь . Тем не менее, я сделал необходимые модификации, чтобы сделать его компактным и удовлетворить требования вопроса.