Ist es möglich, Elemente aus den "Systemeinstellungen" zu entfernen?

17

Ich möchte einige nicht verwendete Einstellungsfelder in den Systemeinstellungen / Gnome-Control-Center entfernen oder deaktivieren, um zu verhindern, dass meine "ehrgeizigeren" Benutzer mit ihnen in Kontakt treten.
Insbesondere möchte ich Folgendes deaktivieren / entfernen:

  • Drucker (da wir keine an diese Maschinen angeschlossen haben)
  • Details (weil Sie damit Aktionen auf Wechselmedien festlegen können)
  • Tastatur (weil Sie damit Tastenkombinationen festlegen können - kein Dealbreaker)

Dies scheint ziemlich einfach zu sein (ich kann sie aus dem Anwendungsmenü entfernen, indem ich sie Hidden=truein der .desktopmit dem Bedienfeld verknüpften Datei einstelle ), aber sie bleiben hartnäckig in den Systemeinstellungen, wenn ich das tue.

Vermisse ich etwas oder bleiben wir für immer bei diesen Bedienfeldern in der Anwendung "Einstellungen" hängen?

voretaq7
quelle

Antworten:

16

Angesichts der Tatsache, dass das Ändern der Berechtigungen Ihr Ziel erreicht, sehen Sie sich diese Magie an:

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

Sie können die Überschreibungen entfernen mit:

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

(Beachten Sie jedoch, dass dadurch die ursprünglichen Berechtigungen nicht zurückgesetzt werden.)

MikeyB
quelle
1
Dies ist wahrscheinlich die eleganteste Allzwecklösung (und scheint die wahrscheinlichste Lösung zu sein, die bei Paket- und Release-Upgrades überlebt)
voretaq7
6

OK, ich denke, ich habe eine Problemumgehung gefunden - gnome-control-centerrespektiert Hidden=truedie gnome-whatever-panel.desktopDatei nicht, aber sie ist nicht intelligent genug, um ein Panel anzuzeigen, wenn Sie die zugehörige Datei vollständig entfernen.desktop .

Für die von mir aufgelisteten Panels können Sie sie also entfernen / deaktivieren, indem Sie die folgenden Dateien löschen:

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

Wie MikeyB in seinem Kommentar bemerkte, ist es auch eine Option, diese Dateien für "andere" unlesbar zu machen - ich habe dies ( chmod 640) auf einer Ersatzbox getestet und es scheint zu funktionieren, indem ich die Panels für "normale" Benutzer deaktiviere, während ich sie weiterhin rootMitgliedern und Mitgliedern zur Verfügung stelle der rootGruppe.


Dieser Ansatz hat zwei bemerkenswerte Nachteile:

  1. Dadurch werden diese Bedienfelder für ALLE Benutzer vollständig deaktiviert .
    Sie können sie nicht einmal manuell aufrufen, indem Sie ausführengnome-control-center info oder Ähnliches, wie Radu Rădeanu es erwähnt hat. Sie werden einfach nicht gestartet.

  2. Aktualisierungen von gnome-control-center& verwandten Paketen können die Panels zurückbringen.
    Dies bedeutet im Grunde, dass Sie nach jedem Software-Update überprüfen, ob sie noch nicht installiert sind (oder über entsprechend eingeschränkte Berechtigungen verfügen) und chmoddie .desktopDateien bei Bedarf löschen / erneut löschen .

Für meine Zwecke ist keines davon ein großes Problem, da ich diese Computer sowieso über die Befehlszeile konfiguriere und die Systemeinstellungsfenster nur für Benutzer sind, die geringfügige "Persönlichkeitsveränderungen" vornehmen möchten, sofern dies nicht der Fall ist

voretaq7
quelle
1
Funktioniert es weiterhin, anstatt es zu entfernen, wenn Sie die Leseberechtigungen auf bestimmte Gruppen beschränken (dh alle außer root und Ihnen)?
MikeyB
@MikeyB Möglicherweise - auf dem Computer, auf dem ich solche Dinge testen würde, wird derzeit ein Release mit gelöschten Dateien erstellt, daher kann ich das gerade nicht testen - das wäre ein guter Weg, um # 1 zu mildern. (Es wird jedoch wahrscheinlich immer noch von Updates
heimgesucht
Wenn Sie in eine /usr/share/applications/gnome-info-panel.desktopDatei schauen, werden Sie feststellen, dass sie verwendet wird gnome-control-center info. Dieser Befehl funktioniert also problemlos, wenn Sie diese Desktop-Datei löschen.
Radu Rădeanu
@ RaduRădeanu Nein, wird es nicht - Zumindest nicht auf der Maschine, auf der ich es getestet habe. (Wenn Sie gnome-control-center infonach dem Löschen der Infopanel-Desktop-Datei ausgeführt werden, wird das Kontrollzentrum geöffnet, aber Sie werden auf der Seite "Alle Einstellungen"
abgelegt
3

Nein, leider können Sie keine Drucker , Details oder Tastaturen aus den Systemeinstellungen entfernen . Diese heißen "PANELS" und sind im gnome-control-centerPaket fest codiert . Wenn Sie dieses Paket entfernen, haben Sie keine Systemeinstellungen mehr.

Nehmen wir an, Sie entfernen diese Symbole und Namen aus dem Hauptfenster der Systemeinstellungen . Auf jeden Fall kann ein Benutzer einen von ihnen mit einem der folgenden Befehle vom Terminal aus öffnen:

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

Siehe man gnome-control-centerfür weitere Informationen.

Radu Rădeanu
quelle
1
Wir haben unseren Benutzern den Zugriff auf das Terminal bereits im Wesentlichen verweigert (oder zumindest sehr unbequem gemacht ), sodass das Aufrufen eines Befehls im Allgemeinen kein Problem darstellt, aber dies ist mehr oder weniger die erwartete Antwort. (Es stellt sich dann die Frage, warum ich andere Panels durch Löschen eines darunterliegenden Pakets leicht genug entfernen kann , aber diese speziellen Panels werden in das Basispaket eingeschweißt, um sie alles oder nichts zu machen, aber das ist eine separate Angelegenheit ...)
voretaq7