- Вопрос или проблема
- Обновление
- eog (eye-of-gnome)
- Вкладка фонов в Gnome-Control-Center
- Ответ или решение
- Как ограничить пользователей в изменении обоев рабочего стола
- 1. Использование Gconf и Gsettings
- 2. Запрет доступа к настройкам
- 3. Удаление вкладки «Фон» из настроек внешнего вида
- 4. Дефолтные обои при входе в систему
- 5. Заблокируйте доступ к Панели управления
- 6. Защита конфигураций
- Итог
Вопрос или проблема
Я не хочу, чтобы мои пользователи меняли фон рабочего стола. Как мне заблокировать изменение фона?
Обновление
-
Пользователи меняют фон, щелкая правой кнопкой мыши по картинке и выбирая “Установить как фон”. Как ограничить это поведение?
-
Возможно ли удалить вкладку “Обои” из параметров внешнего вида? Если да, то как?
Существует два способа, которые я знаю:
1. Запустите gconf-editor от имени root: gksudo gconf-editor
. В левом окне найдите /desktop/gnome/background
. В правой панели найдите picture_filename
, щелкните по нему правой кнопкой мыши и выберите Установить как обязательный
.
2. Другой способ – просто запретить обычным пользователям запускать изменитель фона, выполнив (от имени root): chmod 744 /usr/bin/gnome-appearance-properties
Версия ответа Марка для командной строки будет следующей:
sudo gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set /desktop/gnome/background/picture_filename "/usr/share/backgrounds/Tri_Narwhal_by_momez.jpg"
eog (eye-of-gnome)
11.04 и предыдущие версии Ubuntu
Когда вы упомянули, что можно щелкнуть правой кнопкой мыши по изображению и установить его как фон, я предполагаю, вы имели в виду – открыть изображение jpeg в eog, щелкнуть правой кнопкой и выбрать “Установить как фон рабочего стола”.
С помощью этого ответа вы можете убрать эту опцию:
С учетом этого предположения вы можете удалить опцию в меню и опцию по щелчку правой кнопкой, либо редактируя исходный код напрямую (если хотите распределить пакет), либо модифицируя данные окна GTK для каждого клиента.
Решение 1 – отредактировать данныеGTK окна
Сначала создайте резервную копию данных GTK окна:
sudo cp /usr/share/eog/eog-ui.xml ~/
gksudo gedit /usr/share/eog/eog-ui.xml
Теперь найдите “wallpaper” – удалите каждую строку, содержащую это ключевое слово, и сохраните.
Чтобы вернуть изменения:
sudo cp ~/eog-ui.xml /usr/share/eog
Решение 2 – распределить deb пакет
Это можно сделать с помощью этого рецепта:
apt-get source eog
sudo apt-get build-dep eog
sudo apt-get install devscripts
Если вас попросят настроить вашу почту – выберите без настройки
cd eog-2*/data
gedit eog-ui.xml
Теперь найдите “wallpaper” – удалите каждую строку, содержащую это ключевое слово.
Сохраните.
cd ..
gedit debian/changelog
добавьте +ppakarthick
в первую строку, чтобы она выглядела примерно так:
eog (2.32.1-0ubuntu2+ppakarthick) natty; urgency=low
debuild -us -uc
cd ..
sudo dpkg -i eog_*.deb
Примечание – есть только один deb пакет для установки – либо 32-битный, либо 64-битный в зависимости от архитектуры Ubuntu, которую вы установили. Остальные созданные deb’ы – это пакет отладки и пакет разработки, которые вы можете проигнорировать.
Чтобы вернуть изменения:
sudo apt-get purge eog
sudo apt-get install eog
Это удалит полный пакет eog. Затем вторая команда заново загрузит текущий пакет eog из репозиториев.
Примечание – это может потребовать удаления мета-пакета ubuntu-desktop
. Единственное влияние, которое это имеет, – если вы собираетесь обновлять до Natty. Если хотите обновить, просто установите ubuntu-desktop
перед обновлением.
Вкладка фонов в Gnome-Control-Center
Данные GTK окна для этой вкладки находятся в файле /usr/share/gnome-control-center/ui/appearance.ui
, но я не нашел удобного места в этом файле, где вы могли бы скрыть саму вкладку фона.
С помощью изменения исходного кода вы можете сделать так, чтобы вкладка фона и ее кнопки не отображали фон и не выполняли никаких действий при нажатии кнопок.
Это решение очень похоже на решение 2 выше.
apt-get source gnome-control-center
sudo apt-get build-dep gnome-control-center
sudo apt-get install devscripts
Если вас попросят настроить вашу почту – выберите без настройки
cd gnome*/capplets/appearance
gedit appearance-desktop.c
Теперь найдите следующую функцию и добавьте return;
, как показано:
void
desktop_init (AppearanceData *data,
const gchar **uris)
{
GtkWidget *add_button, *w;
GtkCellRenderer *cr;
char *url;
data->wp_update_gconf = TRUE;
data->wp_uris = NULL;
return;
Сохраните.
cd ../..
gedit debian/changelog
добавьте +ppakarthick
в первую строку, чтобы она выглядела примерно так:
gnome-control-center (1:2.30.1-0ubuntu2+ppakarthick) lucid-proposed; urgency=low
debuild -us -uc
cd ..
sudo dpkg -i capplets*.deb
sudo dpkg -i libgnome-window-settings1*.deb
sudo dpkg -i gnome-control-center_*.deb
Чтобы вернуть изменения:
sudo apt-get purge gnome-control-center libgnome-window-settings1 capplets-data
sudo apt-get install ubuntu_desktop
Это удалит полный пакет gnome-control-center и несколько других пакетов. Затем вторая команда заново загрузит из репозиториев все пакеты, которые были ранее удалены.
Я нашел способ легко устанавливать обои (фон рабочего стола) при каждом входе. Создайте новую программу входа в “Программы при запуске” с следующей командой.
gsettings set org.gnome.desktop.background picture-uri "file:///usr/share/backgrounds/edubuntu_default.png"
Конечно, вы можете указать любое изображение, просто заменив “edubuntu_default.png” на ваше изображение.
Я работаю в школе, и я использовал следующие команды для блокировки обоев экрана:
Сначала: блокируйте Панель управления, чтобы предотвратить изменения настроек студентами, таких как язык клавиатуры, пароль пользователя и т.д… sudo chmod 750 /usr/bin/gnome-control-center
Во-вторых: сделайте файл dconf неизменяемым для студента, чтобы предотвратить действие “Щелчок правой кнопкой мыши” > “Установить как обои”: sudo chattr +i /home/student/.config/dconf/user
С этим вы успешно заблокируете обои и предотвратите модификацию настроек пользователя.
Убедитесь, что пользователь-студент не в списке sudoers, иначе он сможет вернуть эти изменения.
С уважением
Ответ или решение
Как ограничить пользователей в изменении обоев рабочего стола
Если вам необходимо запретить пользователям изменять обои рабочего стола в системе, вы можете использовать несколько методов для достижения этой цели. Представленные решения подходят как для настольного окружения GNOME, так и для других систем, предоставляющих пользователям права изменения настроек внешнего вида.
1. Использование Gconf и Gsettings
Настройка Gconf:
Используйте инструмент gconf-editor
, чтобы установить обязательное значение для параметра файла изображения фона. Для этого выполните следующую команду от имени администратора:
gksudo gconf-editor
Перейдите в раздел /desktop/gnome/background/
и найдите параметр picture_filename
. Щелкните правой кнопкой мыши по параметру и выберите «Установить как обязательный».
Настройка через командную строку:
Альтернативно, вы можете использовать следующую команду для установки изображения фона через gconftool
:
sudo gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set /desktop/gnome/background/picture_filename "/usr/share/backgrounds/ваше_изображение.jpg"
2. Запрет доступа к настройкам
Вы можете ограничить доступ пользователей к настройкам внешнего вида, изменив права на соответствующие исполняемые файлы, например:
sudo chmod 744 /usr/bin/gnome-appearance-properties
Этот шаг предотвратит изменение обоев через стандартные настройки внешнего вида.
3. Удаление вкладки «Фон» из настроек внешнего вида
Для более глубокой настройки можно редактировать файлы интерфейса GTK, удалив ненужные опции:
- Создайте резервную копию файла интерфейса:
sudo cp /usr/share/eog/eog-ui.xml ~/
gksudo gedit /usr/share/eog/eog-ui.xml
- Найдите и удалите строки, связанные со словом "wallpaper", и сохраните файл.
Если вы хотите распространить это изменение, вы можете переупаковать приложение в качестве deb
пакета, но это требует более глубоких технических знаний.
4. Дефолтные обои при входе в систему
Для мгновенной настройки обоев по умолчанию при каждом входе в систему добавьте следующую команду в «Программы автозагрузки»:
gsettings set org.gnome.desktop.background picture-uri "file:///usr/share/backgrounds/ваше_изображение.png"
Это обеспечит установку заданных обоев при каждом входе пользователя.
5. Заблокируйте доступ к Панели управления
Чтобы предотвратить изменения в системных настройках, можно запретить доступ к Панели управления:
sudo chmod 750 /usr/bin/gnome-control-center
6. Защита конфигураций
Чтобы предотвратить изменения в файлах конфигурации, сделайте их неизменяемыми:
sudo chattr +i /home/student/.config/dconf/user
Это действие позволит заблокировать возможности изменения настроек, что особенно критично в учебных заведениях.
Итог
Также важно убедиться, что пользователи, которым запрещен доступ к данным настройкам, не входят в список sudoers
, иначе они смогут отменить установленные ограничения. С помощью этих методов вы получите контроль над настройками обоев в системе, что является особенно важным во многих образовательных и корпоративных средах.