Можно ли удалить элементы из «Системных настроек»

17

Я хотел бы удалить или отключить некоторые неиспользуемые панели настроек в системных настройках / gnome-control-center, чтобы мои более «амбициозные» пользователи не связывались с ними.
В частности, я хотел бы отключить / удалить следующее:

  • Принтеры (потому что мы не подключены к этим машинам)
  • Подробности (потому что это позволяет вам устанавливать действия на съемном носителе)
  • Клавиатура (потому что она позволяет вам устанавливать горячие клавиши - не нарушитель правил)

Кажется , что это должно быть довольно просто (я могу удалить их из меню приложений, установив Hidden=trueв .desktopфайл , связанный с панелью), но они упорно остаются в настройках системы , когда я делаю это.

Я что-то упустил или мы навсегда застряли с этими панелями в приложении «Настройки»?

voretaq7
источник

Ответы:

16

Учитывая, что изменение разрешений достигает вашей цели, проверьте это волшебство:

dpkg-statoverride --update --add root root 640 /usr/share/applications/gnome-printers-panel.desktop
dpkg-statoverride --update --add root root 640 /usr/share/applications/gnome-info-panel.desktop
dpkg-statoverride --update --add root root 640 /usr/share/applications/gnome-keyboard-panel.desktop

Вы можете удалить переопределения с помощью:

dpkg-statoverride --remove /path/to/file

(но учтите, что это не приведет к сбросу исходных разрешений)

MikeyB
источник
1
Это, пожалуй, самое элегантное решение общего назначения (и, похоже, оно наиболее вероятно выживет при обновлении пакетов и выпусков)
voretaq7
6

Хорошо, я думаю, что нашел обходной путь - gnome-control-centerне уважает Hidden=trueв gnome-whatever-panel.desktopфайле, но он недостаточно умен, чтобы отобразить панель, если вы полностью удалите связанный .desktopфайл.

Поэтому для перечисленных панелей вы можете удалить / отключить их, удалив следующие файлы:

/usr/share/applications/gnome-printers-panel.desktop
/usr/share/applications/gnome-info-panel.desktop
/usr/share/applications/gnome-keyboard-panel.desktop

Как отметил в своем комментарии MikeyB, сделать эти файлы нечитаемыми для «других» - это тоже вариант - я протестировал this ( chmod 640) на запасной коробке, и она, кажется, работает, отключая панели для «обычных» пользователей, оставляя их доступными rootи для участников. из rootгруппы.


У этого подхода есть два заметных недостатка:

  1. Это полностью отключает эти панели для ВСЕХ пользователей.
    Вы даже не можете вызвать их вручную, запустив gnome-control-center infoили подобный, как упомянул Раду Рэдеану - они просто не запустятся.

  2. Обновления gnome-control-centerи связанные пакеты могут вернуть панели обратно.
    В основном это означает проверку после каждого обновления программного обеспечения , чтобы убедиться , что они все еще ушли (или иметь надлежащим образом ограничивающие права), и удаление / chmodИНГ в .desktopфайлы снова , если это необходимо.

Для моих целей ни одна из этих проблем не является большой проблемой, так как я все равно настраиваю эти машины из командной строки, и панели системных настроек предназначены только для пользователей, чтобы сделать незначительные «индивидуальные настройки», так что если это обходной путь

voretaq7
источник
1
Вместо того, чтобы удалять, он все еще делает то, что вы хотите, если вы ограничиваете права на чтение для определенных групп (т.е. всех, кроме root и вас)?
MikeyB
@MikeyB Возможно - машина, на которой я бы тестировал такие вещи, в настоящее время создает релиз с удаленными файлами, поэтому я не могу проверить это сейчас - это был бы хороший способ уменьшить # 1. (Тем не менее, обновления все равно будут растоптаны, так что вы все равно будете бдительны, когда они вернутся.)
voretaq7
Если вы посмотрите внутрь /usr/share/applications/gnome-info-panel.desktopфайла, вы увидите, что он использует gnome-control-center info. Таким образом, эта команда будет работать без проблем, если вы удалите этот файл рабочего стола.
Раду Радеану
@ RaduRădeanu Нет, не будет - по крайней мере, на машине, на которой я его тестировал. (Если вы запускаете gnome-control-center infoпосле удаления файла рабочего стола информационной панели, открывается центр управления, но он перетаскивает вас на страницу «Все настройки» - панель не загружается.)
voretaq7
3

Нет, к сожалению, вы не можете удалить любой из принтеров , сведений или клавиатуры из системных настроек . Они называются «ПАНЕЛИ» и жестко закодированы в gnome-control-centerупаковке. Если вы удалите этот пакет, у вас больше не будет системных настроек .

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

gnome-control-center info
gnome-control-center keyboard
gnome-control-center printers

Смотрите man gnome-control-centerдля получения дополнительной информации.

Раду Рэдяну
источник
1
Мы уже практически отказали нашим пользователям в доступе к терминалу (или, по крайней мере, сделали его по- настоящему неудобным ), поэтому заставить их вызывать что-либо, набрав команду, как правило, не проблема, но это более или менее ожидаемый ответ. (Тогда возникает вопрос, почему я могу достаточно легко удалить другие панели, удалив базовый пакет, но эти конкретные ввариваются в базовый пакет, превращая их в «все или ничего», но это отдельная посох…)
voretaq7