В 12.04 экран никогда не спал во время просмотра видео в XBMC. Однако после обновления до 12.10 и изменения настроек нет.
Есть ли способ предотвратить автоматическое отключение экрана во время воспроизведения видео в XBMC, не отключая экран от выключения в другое время ?
В идеале, есть ли для этого конкретная настройка XBMC? Является ли это особенностью XBMC, которая теперь как-то сломана в 12.10 или изменилась ли она из-за некоторых изменений, отличных от XBMC, в Ubuntu?
Мы можем создать сценарий оболочки, который будет имитировать движение мыши с заданным интервалом (только при запуске 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
Сделайте этот скрипт исполняемым: щелкните правой кнопкой мыши только что сохраненный файл >> Выберите «Свойства» >> На вкладке «Разрешение» установите флажок «Проверить» в «Выполнение». Выполните этот скрипт автоматически при каждом запуске: мы можем сделать это с помощью приложений запуска. Откройте Dash, нажав Enter и запрос для Startup Applications >> В окне «Приложения для запуска» нажмите «Добавить >>». Затем в появившемся диалоговом окне заполните следующую информацию: Имя: необязательно, что бы вы ни назвали. Команда: путь к файлу, в котором вы его сохранили. Комментарий: необязательно, если вы хотите добавить некоторые. Перезагрузите свою систему и наслаждайтесь фильмами с помощью 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 с именем процесса по вашему выбору.
Здесь мы видим, что Firefox просто назван как firefox. Итак, если мы хотим этого поведения, когда Firefox работает; мы заменили бы xbmc.bin в скрипте с помощью firefox, и все остальное будет работать нормально.
Подтверждение: здесь я нашел скрипт. Однако я сделал необходимые изменения, чтобы сделать его компактным и удовлетворить требования вопроса.
Очень простым решением является кофеин. «Caffeine» - это приложение «строка состояния», способное временно предотвратить активацию режима сохранения экрана и режима ожидания. «
Включение этого так же просто, как щелчок индикатора строки состояния, но вы также можете установить так что он автоматически отключает скринсейвер при запуске xbmc. См. Скриншот ниже
Если вы используете Gnome, вы можете установить caffeine . Если нет, то для 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
Наслаждайтесь!
Я использую их в ~ / 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, а не только при воспроизведении видео. Поскольку у него есть встроенный сервер UPnP, я оставляю его 24/7, но я хочу отключить скринсейвер, когда видео воспроизводится локально.
Вот что я придумал: включите http и поддержка JSON в XBMC. Затем цикл делает запрос, чтобы узнать, активен ли игрок или нет. Если это так, введите команду xscreensaver-command -disable (вы можете настроить ее для вашей заставки). Если нет, ничего не делайте. Проверять каждые 50 секунд для меня много.
Код Python здесь: http://sumnerhayes.com/software/