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


11

Я хочу ограничить пользователей при смене обоев и тем. Так может кто-нибудь сказать мне, как удалить опцию Изменить фон рабочего стола из правой кнопки мыши?

Замечания:

Я просто хочу удалить эту опцию из правого клика.


Это не выглядит возможным без перекомпиляции из исходного кода. Я клонирую репо и посмотрю, где код.
Никгулецкий

1
Вы хотите gnome-appearance-propertiesполностью удалить доступ или только этот метод доступа к нему? Если вы хотите запретить пользователям настраивать свой фон или тему, вы, вероятно, просто хотите полностью удалить доступ к команде (для продолжения требуется пароль администратора или что-то в этом роде).
crazy2be

Ответы:


20

Если вы можете жить без значков на рабочем столе, вы можете полностью отключить меню правой кнопки мыши с помощью параметра show_desktop Nautilus, например:

gconftool-2 -t bool -s /apps/nautilus/preferences/show_desktop false

Редактировать: избавление только от этого пункта меню потребует исправления источника Nautilus. Определение меню src/file-manager/fm-desktop-icon-view.cвнутри desktop_view_entries[](или просто поиск Change Desktop _Background). Edit2: см. Ниже для HowTo.

Другой вариант - использовать другой файловый менеджер для рисования значков на рабочем столе. Может, в PCMan File Manager нет этой записи в контекстном меню?

Минимальное руководство по редактированию и восстановлению Наутилуса

Как я уже отмечал ранее, пункт меню жестко запрограммирован в Nautilus, поэтому, насколько я знаю, единственный способ удалить его и сохранить все остальные функции - это отредактировать исходный код Nautilus и перекомпилировать его. Имейте в виду, что это займет некоторое время, и вам понадобится место для всех пакетов разработки и самой компиляции.

Процесс был протестирован с Nautilus Elementary 2.32.2.2, однако не должно быть никаких различий для базового Nautilus 2.32.

  1. Получить базовые пакеты разработки:
    sudo apt-get установить build-essential fakeroot dpkg-dev devscripts
  2. Получить зависимости разработки для Nautilus
    sudo apt-get build-dep наутилус
  3. Загрузите исходный код Nautilus - обратите внимание, что эта команда не требует sudo; Кроме того, он поместит несколько файлов в текущий каталог, поэтому обычно для этого лучше создать дополнительный каталог.
    МакДир Наутилус
    кд наутилус
    apt-get source nautilus
  4. Исходный код будет загружен и извлечен в nautilus-VERSION*папку (VERSION - это, конечно, номер версии, скорее всего, 2.32. Что-то). Получить в эту папку.
  5. Открыть файл src/file-manager/fm-desktop-icon-view.c
  6. Ищите GtkActionEntry desktop_view_entries[]- в моем случае это строка 721, однако она может отличаться для вашей версии. Это должно выглядеть так:

    static const GtkActionEntry desktop_view_entries[] = {
        /* name, stock id */
        { "New Launcher Desktop", NULL,
          /* label, accelerator */
          N_("Create L_auncher..."), NULL,
          /* tooltip */
          N_("Create a new launcher"),
          G_CALLBACK (action_new_launcher_callback) },
        /* name, stock id */
        { "Change Background", NULL,
          /* label, accelerator */
          N_("Change Desktop _Background"), NULL,
          /* tooltip */
          N_("Show a window that lets you set your desktop background's pattern or color"),
          G_CALLBACK (action_change_background_callback) },
        /* name, stock id */
        { "Empty Trash Conditional", NULL,
          /* label, accelerator */
          N_("Empty Trash"), NULL,
          /* tooltip */
          N_("Delete all items in the Trash"),
          G_CALLBACK (action_empty_trash_conditional_callback) },
    };

    Обратите внимание, что второй массив содержит Change Background- удалите его, так что вы получите что-то вроде этого:

    static const GtkActionEntry desktop_view_entries[] = {
        /* name, stock id */
        { "New Launcher Desktop", NULL,
          /* label, accelerator */
          N_("Create L_auncher..."), NULL,
          /* tooltip */
          N_("Create a new launcher"),
          G_CALLBACK (action_new_launcher_callback) },
        /* Change Background was here */
        /* name, stock id */
        { "Empty Trash Conditional", NULL,
          /* label, accelerator */
          N_("Empty Trash"), NULL,
          /* tooltip */
          N_("Delete all items in the Trash"),
          G_CALLBACK (action_empty_trash_conditional_callback) },
    };

    Сохраните файл.

  7. Вернитесь в терминал CD к исходному корню (если вы этого еще не сделали)
    cd nautilus- *
    И беги
    дч-л местный
    Это выполнит значение по умолчанию $EDITOR(вероятно, Nano) с файлом журнала изменений, подготовленным для ввода ваших изменений. Напишите что-нибудь описательное после *, оставьте все остальное нетронутым. Обратите внимание, что -l localопция заключается в том, чтобы отметить локальную сборку, вместо localнее можно использовать что угодно , однако важно добавить запись в журнал изменений, иначе ваша локальная сборка будет переопределена версией репозитория.
  8. Скомпилируйте и соберите пакет
    debuild -i -us -uc -b
    Для объяснения переключателей см. Справочную страницу debuild.
  9. Хватай кофе, это может занять некоторое время.
  10. Как только сборка завершится (надеюсь, с успехом), вы найдете кучу пакетов .deb в родительском каталоге. Установите их все.
    компакт диск ..
    sudo dpkg -i * .deb
  11. Выйдите или перезапустите Nautilus для великого правосудия ...
    Наутилус -q

Смотри, ма ", нет" Изменить фон "!

наутилус меню рабочего стола

Чтобы быть на 100% уверенным, возможно, стоит заблокировать nautilusпакет в Synaptic .

Изменить: После того, как вы убедились, что все работает нормально, вы можете избавиться от пакетов build-dep, используя эту изящную команду . Вам просто нужно установить aptitude...

Ссылки


Будет хорошо, если вы скажете, как полностью убрать эту опцию из правого клика.
karthick87

Хорошо, я расскажу, как редактировать исходный код Nautilus и перекомпилировать его. Просто немного времени.
JNV

Вот, пожалуйста, надеюсь, это будет полезно.
JNV

1
хороший @jnv :)
Rinzwind

Спасибо, Ринзвинд. Я вижу, что Markdown испортил исходный код из fm-desktop-icon-view.c, пока не копируйте его.
JNV

6

Я не знаю, как это сделать, но я предполагаю, что фон рабочего стола устанавливается с помощью клавиши GConf. Если это так, вы можете запустить gconf-editor от имени пользователя root, найти соответствующий ключ и установить его как обязательный. Тогда пользователи не смогут изменить его значение.


4

Отказ от ответственности: я не использовал Sabayon (редактор профиля пользователя в Ubuntu) или Pesullus (редактор блокировки вниз в Ubuntu). Просто помогаю, указывая вам в правильном направлении. :-)

http://live.gnome.org/Sabayon/

Sabayon - это инструмент системного администрирования для определения и развертывания профилей рабочего стола для среды рабочего стола GNOME. Он позволяет вам управлять такими вещами, как макеты панели, пункты меню, настройки gconf по умолчанию, а также предоставлять предварительно определенные значения по умолчанию для некоторых не-GNOME программ, таких как Firefox. Он также использует функциональность блокировки Pessulus. Это достигается путем предоставления «рабочего стола в окне», позволяющего вам настроить рабочий стол по своему усмотрению, а затем записывать изменения, которые будут применены к пользователям программой sabayon-apply во время входа в систему.

Кто должен использовать Sabayon? Sabayon ориентирован на всех, кому необходимо предоставить стандартизированный рабочий стол GNOME своим конечным пользователям. Учителя, которые управляют лабораториями, библиотеками и предприятиями, должны иметь «заблокированный» рабочий стол и могут эффективно использовать Sabayon.

Он находится в Ubuntu Software Center , выполните поиск « редактор профиля пользователя ». Он будет размещен в « Система»> «Администрирование»> «Редактор профиля пользователя».

Запустите программу, нажмите кнопку « Добавить» , введите « Студент» , нажмите « Добавить» , нажмите « Изменить» , нажмите « Справка» , щелкните содержимое . Прочитайте помощь .

Вот еще один сайт, который объясняет это немного больше, с акцентом на киоск.

http://users.telenet.be/mydotcom/howto/linuxkiosk/ubuntu01.htm

Другими программами, которые позволяют вам блокировать вещи, является « Lock Down Editor », найденный в Ubuntu Software Center (на самом деле он называется Pessulus , не знаю, почему Ubuntu называет его Lock Down Editor.)

Другой - Ubuntu Tweak , найденный по адресу http://ubuntu-tweak.com/.

Я думаю, что Sabayon (редактор профиля пользователя в Ubuntu) будет вашим лучшим выбором.

PS Вот еще одно обсуждение вашего вопроса .... http://brainstorm.ubuntu.com/item/1626/


3

Для Ubuntu 11.04 и более ранних версий просто установите ключ gconf как обязательный. Вот один с практическими рекомендациями .

sudo gconftool-2 --direct --config-source \
xml:readwrite:/etc/gconf/gconf.xml.mandatory --type string --set \
/desktop/gnome/background/picture_filename \ 
"/usr/share/backgrounds/cosmos/blue-marble-west.jpg"

Для Ubuntu 11.10 и более поздних версий (или с использованием Gnome 3) установите ключ dconf как обязательный. Смотрите конец этой статьи .


2

Изменяя разрешения

sudo chmod 660 /usr/bin/gnome-appearance-properties #or any other permission

Вы можете ограничить доступ к изменениям свойств темы или фона. Однако это не удалит пункт меню.


2

Вы пробовали Gofris , это приложение равно морозу на ветру * ws. Вы, вероятно, заметили, что любые изменения, которые вы вносите в их систему: создание или удаление файлов, настройки и т. д., все сбрасывается при перезагрузке компьютера.

выполните следующие действия для установки Gofris на Ubuntu:

  • sudo add-apt-repository ppa: tldm217 / gofris
  • sudo apt-get update
  • sudo apt-get установить gofris-ru

введите gofris-en в терминале для запуска.

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

проверьте эту ссылку: http://www.webupd8.org/2010/09/ofris-gets-appindicator-gofris-deep.html


2

Я заставляю его работать с gconftool-2. Просто беги:

gconftool-2 --type bool --set /apps/nautilus/lockdown/disable_context_menus 1

Если вам это нужно для всех пользователей, просто создайте скрипт /etc/profile.d.

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