Вопрос или проблема
По какой-то причине я хочу отключить/затемнить некоторые из операций, связанных с настройками дисплея на моем Ubuntu, такие как “режим отображения”, “расположение мониторов”, “ориентация” и так далее. Также как в системе Windows, я хочу отключить/затемнить эти параметры, чтобы эти настройки не могли быть изменены. Но я пробовал использовать такие методы, как gsettings и dconf, но не смог найти операцию, которая может выполнить это требование. Пожалуйста, помогите мне.
.
Ответ или решение
Для отключения или ограничения доступа к некоторым параметрам настройки дисплея в Ubuntu, вы можете использовать различные средства управления и настройки системы. В этой инструкции я подробно рассмотрю возможные способы реализации этой задачи.
Теория
В операционных системах на базе Linux, таких как Ubuntu, управление настройками дисплея обычно осуществляется через утилиты и интерфейсы, такие как gsettings
и dconf
. gsettings
и dconf
представляют собой низкоуровневые API и базы данных, которые позволяют считывать и изменять ключи конфигурации для различных приложений и системных служб. Пользователи Ubuntu часто используют их для автоматизации и настройки системы в соответствии с определёнными требованиями.
Пример
Допустим, вы хотите ограничить доступ к изменению параметров дисплея, таких как "режим отображения", "расположение мониторов" и "ориентация". Для этого потенциально можете использовать следующие шаги:
-
Ограничение прав доступа: Настройки можно изменять через изменение прав доступа к необходимым файлам конфигурации, через которые эти параметры управляются.
-
Использование
dconf
иgsettings
: Хотя вы отметили, что эти утилиты не помогли в решении вашей задачи, важно удостовериться, что вы пытались использовать их корректно. Например, командаgsettings set
может изменять текущие настройки, и возможная проблема может заключаться в том, что необходимые схемы или ключи были указаны неверно. -
Блокировка интерфейса через PolicyKit: PolicyKit позволяет управлять привилегиями для выполнения определенных действий от имени пользователя, имеющего более низкие права доступа. Вы можете установить политики, которые ограничивают доступ определенных пользователей или групп к изменению параметров.
-
Скрипты и автоматизация: Вы можете создать скрипты, которые периодически или при старте системы проверяют и устанавливают нужные вам параметры, таким образом восстанавливая нужное состояние после несанкционированных изменений.
Применение
Ограничение через dconf и gsettings
-
Убедитесь в правильности схем и ключей:
- Проверьте текущие значения:
gsettings list-schemas | grep display
- Чтобы получить список всех ключей в нужной схеме:
gsettings list-keys <схема>
- Проверьте текущие значения:
-
Изменение и блокировка параметров:
- Установите нужное значение:
gsettings set <схема> <ключ> <значение>
- Заблокируйте изменения:
dconf write /<путь>/<до ключа> '<значение>'
- Установите нужное значение:
Использование PolicyKit
-
Перейдите в каталог конфигурации PolicyKit:
cd /etc/polkit-1/localauthority/50-local.d/
-
Создайте новую политику:
Создайте файл, напримерdisable-display-settings.pkla
, и добавьте следующее содержимое:[Disable Display Settings] Identity=unix-user:* Action=org.gnome.controlcenter.display ResultAny=no ResultInactive=no ResultActive=no
-
Примените изменения и перезагрузите управление:
sudo systemctl restart polkit
При помощи скриптов
-
Создайте скрипт для восстановления нужных значений:
Например, вы можете создатьrestore_display_settings.sh
:#!/bin/bash gsettings set org.gnome.desktop.interface scaling-factor 1
-
Настройте выполнение при старте или через Cron:
- Для старта добавьте его в автозагрузки системы.
- Для cron создайте задачу:
crontab -e
И добавьте:
@reboot /путь/к/скрипту/restore_display_settings.sh
Заключение
Вышеописанные методы могут помочь вам ограничить возможность изменения настроек дисплея в Ubuntu, что особенно может быть полезно в корпоративной среде, где требуется стандартизировать рабочую среду. Применяя их, учитывайте, что любые изменения в системных настройках могут привести к непредвиденным последствиям, поэтому их необходимо тестировать на небоеевых системах, чтобы убедиться в совместимости с другими используемыми программными инструментами.
Важно также помнить, что разработчики Ubuntu и сообщество активно работают над обеспечением гибкости и управляемости системы, поэтому обращение к документации и рекомендациям сообщества всегда будет полезным.