MyTetra Share
Делитесь знаниями!
Как отменить гашение экрана в Astra Linux 1.6 через конфиги
Время создания: 18.01.2022 11:27
Автор: xintrea
Текстовые метки: Astra, Linux, настройка, экран, монитор, отключение, гашение, DPMI, конфиг
Раздел: Компьютер - Linux - Дистрибутив Astra Linux
Запись: xintrea/mytetra_syncro/master/base/16424944730zdn88fpqs/text.html на raw.github.com

В дистрибутиве Astra Linux 1.6 имеются следующие настройки энергосбережения:



Панель управления

+- Оборудование

+- Электропитание

+- Энергосбережение

+- [Галка] Выключение монитора





Если данная галка включена, то можно установить время, через которое монитор будет выключен (максимальное значение - 360 минут, т. е. 6 часов). Однако для боевого применения Astra Linux 1.6 часто требуется отключить эту галку, чтобы монитор все время работал. Причем отключение галки надо сделать через скрипт, а не вручную тыкать мышкой. Для этого нужно знать, где хранится настройка этого параметра. В документации на Astra Linux такая информация, традиционно, отсутсвует.


Раскрыть завесу тайны можно путем просмотра настроечных файлов в каталоге пользователя при включенной и отключенной галке. Очень быстро можно найти следующий файл:



/home/<userName>/.config/powermanagementprofilesrc



В нем, при установленной галке "Выключение монитора" и значении 360 мин. прописана следующая секция:



[AC][DPMSControl]

idleTime=21600



Кстати, здесь видно, что значение параметра idleTime хранится в секундах.


Вопрос: а как выглядит данный файл, если галку "Выключение монитора" убрать? Все просто: в этом файле будет полностью отсутсвовать секция [AC][DPMSControl].


При обработке данного файла возникает проблема: с первого взгляда кажется, что этот файл имеет формат INI. Однако наименования секций не соответствует этому формату, так как они, как видно, составные. Поэтому, для правильного преобразования данного файла через скрипт, нужно либо находить библиотеки, которые понимают INI-формат с составным названием секций, либо пытаться преобразовать данный файл хитрыми регулярными выражениями, включающими в себя моногострочную обработку.


Например, можно воспользоваться потоковым редактором sed, который умеет отбрабатывать не просто файл, а диапазон строк в файле. Для этого перед командой действия указывается два регулярных выражения, разделенных запятой. Первый регвыр - это начало диапазона, второй регвыр - это завершение диапазона.



sed -i '/\[AC\]\[DPMSControl\]/,/^[^\[]/s/.*//' ~/.config/powermanagementprofilesrc



Здесь видно две регулярки:



/\[AC\]\[DPMSControl\]/

/^[^\[]/



Первая - это поиск начала диапазона, по сути, название секции. Вторая - это "все, что не содержит открывающую квадратную скобку в начале строки", то есть, по сути, диапазон будет искаться до начала следующей секции (или до конца файла, если следующей секции нет).


Далее дается команда замена текста s. После нее идет две регулярки - что и на что меняется. В данном случае меняется весь текст на пустой текст. То есть, полностью удаляется секция.


Данную команду можно прописывать в автоматизирующий скрипт, который вносит нужные изменения в конфиги, и гашение экрана будет отключено. Однако нужно учитывать, что неизвестно, когда данная настройка применяется. Возможно, что для применения нужна либо перезагрузка компьютера, либо вызов какой-то команды обновления настроек подсистемы управления питанием монитора.


Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования