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


11

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

Обновить

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

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

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


Итак, вы хотите, чтобы они могли открывать изображения, но НЕ устанавливать их в качестве обоев? Кроме того, им нужен доступ к "Настройкам" ( 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"

Я сделал это, но как вернуть его обратно?
karthick87

0

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.