Отключите автоматический сон и монитор, выключающий из кода C++

Я разрабатываю [межплатформенный C++, Основанный на QT] приложение, которое играет видео с помощью libVLC. Когда я смотрю видео в течение долгого времени, мой монитор собирается выключить соответственно с настройками управлением электропитанием. Я хочу отключить автоматическое выключение, в то время как видео играет, как это находится в Тотеме, VLC Media Player и других медиаплеерах Ubuntu. Но я не могу найти, как сделать это из кода C++, пользующегося библиотеками Ubuntu.

Например, в соответствии с Windows я могу сделать то использование:

SetThreadExecutionState( ES_DISPLAY_REQUIRED | ES_SYSTEM_REQUIRED | ES_CONTINUOUS );

Все, что я нашел о Linux/Ubuntu, - то, как исправить некоторые файлы конфигурации. Я не могу сделать этого из кода:

  1. Пользователь, которые запускают приложение obiously, не может иметь никаких прав отредактировать конфигурации
  2. Параметры питания должны быть восстановлены так или иначе, когда видео останавливается, но если мое приложение внезапно отказало, этого не произойдет
  3. Различные версии Ubuntu могут иметь различные файлы конфигурации и записи

Так мои вопросы:

  • существует ли некоторая Ubuntu (или QT и libVLC) библиотечные функции, которые подавляют выключающий монитор и системный сон?
  • как популярные видеоплееры Ubuntu реализуют такое поведение?
0
задан 4 March 2015 в 13:48

1 ответ

Я рекомендовал бы Вам взглянуть на код xset, инструмент, это - часть X.org или любой другой программы, которая может уже сделать эти вещи, которые Вы хотите сделать (можно отключить экран, выключающий с xset -dpms + xset s off).

В случае xset, Вы найдете исходный код здесь , или для того, когда та ссылка устареет:

http://www.x.org/releases/current/
-> Source Tar Files for X11RX.Y
-> app/
-> xset-x.y.z.tar.{bz2,gz}
0
ответ дан 3 August 2019 в 13:53

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

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