Как ограничить пользователей при смене обоев?

11

Я не хочу, чтобы мои пользователи меняли системные обои. Как мне заблокировать обои вниз?

Обновить

  • Пользователи меняют обои, щелкая правой кнопкой мыши изображение и выбирая установить в качестве обоев. Как ограничить это поведение?

  • Можно ли удалить вкладку «Фоны» из настроек внешнего вида? Если да, то как?

введите описание изображения здесь

karthick87
источник
Итак, вы хотите, чтобы они могли открывать изображения, но НЕ устанавливать их в качестве обоев? Кроме того, им нужен доступ к "Настройкам" ( gnome-control-center)?
Иш
@izx Да, им нужен доступ к настройкам, но они не должны устанавливать их в качестве обоев.
karthick87
Ubuntu 10.10 и классическая среда рабочего стола gnome.
karthick87
@ karthick87 - фоновая вкладка нарисована /usr/share/gnome-control-center/ui/appearance.ui (поиск "background" в этом файле) .... Я быстро посмотрел, но не уверен пока какие биты редактировать, чтобы скрыть вкладку. Я посмотрю немного глубже, когда найду время. Благодарю.
fossfreedom
@ karthick87 - хорошо - не совсем удаление вкладки - но обновил мой ответ для этой функции вкладки, чтобы ничего не делать. Надеюсь это поможет.
fossfreedom

Ответы:

5

эог (глаз гнома)

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

Теперь найдите «обои» - удалите каждую строку, содержащую это ключевое слово, и сохраните.

Чтобы отменить изменения:

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

Теперь ищите «обои» - удалите каждую строку, содержащую это ключевое слово.

Сохранить.

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 и несколько других пакетов. Затем вторая команда повторно загрузит из репозиториев все ранее удаленные пакеты.

свобода ископаемых
источник
Ошибка debuild -us -ucздесь - ошибка pastebin.ubuntu.com/1040147
karthick87
каждая из этих «неудовлетворенных зависимостей» должна была быть установлена, когда вы это сделали sudo apt-get build-dep gnome-control-center- что произойдет, если вы установите их по отдельности, например, sudo apt-get install libxss-devи sudo apt-get install libgnome-menu-devт. д. и т. д.?
fossfreedom
7

Есть два способа , которые я знаю:

1. Как корень запуск Gconf-редактор: gksudo gconf-editor. В левой панели найдите / desktop / gnome / background. На правой панели найдите picture_filename, щелкните правой кнопкой мыши и выберите Set as Mandatory.

2. Другой способ - просто запретить обычным пользователям запускать программу смены обоев, запустив (от имени пользователя root):chmod 744 /usr/bin/gnome-appearance-properties

Марк Рассел
источник
gconf-editor - это то, что я хочу. Можно ли установить эту опцию Set as Mandatoryс терминала? Так что я могу сделать скрипт и выполнить его на всех хостах.
karthick87
Одна возможность - пользователь открывает обои, щелкает их правой кнопкой мыши и устанавливает в качестве обоев обои. Любой способ ограничить это?
karthick87
7

Версия ответа от командной строки:

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"
8128
источник
Я сделал это, но как вернуть его обратно?
karthick87
0

Я нашел способ легко установить обои (фон рабочего стола) при каждом входе в систему. Создайте новую программу входа в «Startup Applications» с помощью следующей команды.

gsettings set org.gnome.desktop.background picture-uri "file:///usr/share/backgrounds/edubuntu_default.png"

Конечно, вы можете указать любое изображение, просто заменив «edubuntu_default.png» своим изображением.

HarlemSquirrel
источник