Як обмежити користувачів при зміні шпалер?


11

Я не хочу, щоб мої користувачі міняли шпалери системи. Як заблокувати шпалери вниз?

Оновлення

  • Користувачі змінюють шпалери, клацнувши правою кнопкою миші зображення та вибравши встановити як шпалери. Як обмежити таку поведінку?

  • Чи можливо видалити вкладку «Фони» з налаштувань зовнішнього вигляду? Якщо так, то як?

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


Гаразд, ви хочете, щоб вони могли відкривати зображення, але НЕ змогли встановити їх як шпалери? Також чи потрібен їм доступ до "Налаштування" ( gnome-control-center)?
Іш

@izx Так, їм потрібен доступ до налаштувань, але вони не повинні встановлювати їх як шпалери.
karthick87

ubuntu 10.10 та класичне середовище для робочого столу gnome.
karthick87

@ karthick87 - вкладку фону малює /usr/share/gnome-control-center/ui/appearance.ui (пошук "фону" у цьому файлі) .... Я швидко ознайомився, але не впевнений поки що біти для редагування, щоб приховати вкладку. Я трохи поглиблююсь, коли знайду деякий час. Спасибі.
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 - поширити деб пакет

Це можна зробити за цим рецептом:

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

Примітка. Встановити лише один пакет дебютів - 32-бітний або 64-бітний залежно від архітектури ubuntu, яку ви встановили. Продукція іншого деба - це пакет налагодження та пакет розробки, який можна ігнорувати.

Щоб скасувати зміни:

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-центру та кілька інших пакетів. Потім друга команда повторно завантажить із сховищ усі видалені раніше пакети.


Помилка 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-редактор - це те, що я хочу. Чи можна встановити цю опцію 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

Я знайшов спосіб легко встановити шпалери (фон робочого столу) при кожному вході. Створіть нову програму входу в "Запуск програм" із наступною командою.

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.