Запретить выключение экрана при просмотре видео в XBMC [закрыто]

В 12.04 экран никогда не спал во время просмотра видео в XBMC. Однако после обновления до 12.10 и изменения настроек нет.

Есть ли способ предотвратить автоматическое отключение экрана во время воспроизведения видео в XBMC, не отключая экран от выключения в другое время ?

В идеале, есть ли для этого конкретная настройка XBMC? Является ли это особенностью XBMC, которая теперь как-то сломана в 12.10 или изменилась ли она из-за некоторых изменений, отличных от XBMC, в Ubuntu?

1
задан 17 January 2013 в 04:20

4 ответа

Мы можем создать сценарий оболочки, который будет имитировать движение мыши с заданным интервалом (только при запуске 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 с именем процесса по вашему выбору.

Как найти имя процесса

С GUI (GNOME): мы можем использовать System Monitor для поиска имени процесса. Нажмите Super, чтобы открыть Dash и запросить «Системный монитор», чтобы запустить его. На вкладке «Процессы» имя процесса можно найти в качестве первого столбца. С терминалом: мы можем запустить top, чтобы перечислить все запущенные процессы. Последний столбец с именем Command дает нам имя процесса (однако он ограничен первыми 15 символами).

Здесь мы видим, что Firefox просто назван как firefox. Итак, если мы хотим этого поведения, когда Firefox работает; мы заменили бы xbmc.bin в скрипте с помощью firefox, и все остальное будет работать нормально.

Подтверждение: здесь я нашел скрипт. Однако я сделал необходимые изменения, чтобы сделать его компактным и удовлетворить требования вопроса.

11
ответ дан 25 May 2018 в 02:23
  • 1
    Разве это не было бы последним, последним, окончательным, ничем иным не работает? – Nanne 23 January 2013 в 16:41
  • 2
    @Nanne: Нет ... Почему это так; сценарий оболочки не будет поддерживать ваши системные ресурсы; и он не будет имитировать движение мыши, когда XMBC не будет работать; а также вам не придется забывать запускать этот скрипт каждый раз ... Хотя настройка предпочтений в XMBC, очевидно, будет лучшим решением; поскольку я не использую XMBC - я не знаю, существует ли такая настройка. Я протестировал этот скрипт Shell с Firefox, и он работает, как ожидается, OP. – Aditya 23 January 2013 в 16:47
  • 3
    Проблема в том, что система не должна спать во время воспроизведения видео (и для меня это не так). Это, безусловно, обходной путь (вы можете назвать это взломом даже), и я не говорю, что это плохо, реквизит для вас для этой большой должности, но все же я бы сначала искал реальное решение (как вы говорите, вы не знайте о XBMC, так что может быть фактический), прежде чем вы попробуете это. Опять же, ничего плохого в вашей фактической должности, но вы не согласны с тем, что сделать движение мыши - это то, что вам следует попробовать после «нормального»? настройки не работают? – Nanne 23 January 2013 в 16:49
  • 4
    @Nanne Как я уже сказал, настройка предпочтений в XMBC для управления им, очевидно, будет лучшим решением. Тем не менее, разумно для меня ожидать, что ОП выполнил свою домашнюю работу. Более того, если такая настройка была доступна в XMBC, я думаю, что кто-то придумал бы и отправил бы свой ответ. Вопрос, на данный момент - 7 дней, - я не думаю, что его там в XMBC. В любом случае, поскольку вы используете XMBC, можете ли вы проверить, можно ли это сделать :) – Aditya 23 January 2013 в 16:53
  • 5
    Я бы не назвал это взломом. Люди используют сценарии оболочки, чтобы делать все это все время. Удивительный ответ +1. – Seth♦ 26 January 2013 в 22:19

Очень простым решением является кофеин. «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

Наслаждайтесь!

8
ответ дан 25 May 2018 в 02:23

Я использую их в ~ / 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 либо

0
ответ дан 25 May 2018 в 02:23
  • 1
    Я использую Gnome, поэтому я не думаю, что использую xscreensaver. Спасибо за Ваш ответ. – thomasrutter 29 January 2013 в 07:02

Эти решения все сбрасывают экранную заставку всякий раз, когда выполняется xbmc, а не только при воспроизведении видео. Поскольку у него есть встроенный сервер UPnP, я оставляю его 24/7, но я хочу отключить скринсейвер, когда видео воспроизводится локально.

Вот что я придумал: включите http и поддержка JSON в XBMC. Затем цикл делает запрос, чтобы узнать, активен ли игрок или нет. Если это так, введите команду xscreensaver-command -disable (вы можете настроить ее для вашей заставки). Если нет, ничего не делайте. Проверять каждые 50 секунд для меня много.

Код Python здесь: http://sumnerhayes.com/software/

0
ответ дан 25 May 2018 в 02:23
  • 1
    Этот вопрос касался XBMC в Ubuntu 12.10, в котором была ошибка, когда он не отключил скринсейвер при воспроизведении видео. Эта ошибка не существует в XBMC в более современных версиях Ubuntu, поэтому я не думаю, что ваше обходное решение необходимо. XBMC отключает экранную заставку во время воспроизведения видео, как и должно быть. – thomasrutter 2 September 2014 в 05:52

Другие вопросы по тегам:

Похожие вопросы: