[[Vorlage(archiviert,)]] [[Vorlage(Fortgeschritten)]] [[Inhaltsverzeichnis()]] Das [:KDE:] Kiosk Framework ermöglicht es, jede KDE Anwendung mit zwingenden Einstellungen zu versehen und einige Aktionen für bestimmte Nutzer zu deaktivieren. Es lässt sich somit ein [wikipedia:Kiosk-Modus:] realisieren, um ein System zum Beispiel ohne Aufsicht einer großen und unbekannten Nutzermenge zur Verfügung zu stellen oder um in einem unternehmerischen Umfeld den Mitarbeiter bestimmte Funktionen zu verwehren (z.B. das Öffnen einer [:Konsole:]) oder das Corporate Design global einzustellen. = KDE Konfigurationsdateien = Die konfigurierbaren Einstellungen in KDE-Anwendungen werden über eine Menge von Konfigurationsdateien bestimmt. Dies sind einfache [wikipedia:Initialisierungsdatei:Schlüssel-Werte Dateien] und befinden sich im Verzeichnis '''~/.kde/share/config''' und in '''~/.config'''. Die Konfigurationsdatei von KWin ist '''~/.config/kwinrc''' und könnte wie folgt aussehen: {{{ [Compositing] AnimationSpeed=3 Backend=OpenGL DisableChecks=false Enabled=true GLDirect=true GLMode=TFP GLTextureFilter=1 GLVSync=true HiddenPreviews=5 }}} Diese Einstellungen entstammen der KWin-Konfigurationsdatei und legen die Werte der Gruppe `Compositing` fest. {{{#!vorlage Hinweis KDE enthält sehr viele Einstellungsmöglichkeiten, welche nicht über eine grafische Oberfläche konfiguriert werden können. Generell kann man davon ausgehen, dass ein vorgegebener Wert auch über eine Schlüssel-Wert Kombination bestimmt werden kann. Im Zweifelsfall kann man in Foren nachfragen oder als ultimative Quelle in den Quellcode schauen. }}} Die Konfigurationsdateien liegen in einer Hierarchie vor. D.h., es werden verschiedene Dateien aus verschiedenen Verzeichnissen kombiniert und aus allen Dateien zusammengeführt und bei Werten für gleichen Schlüssel gewinnt der Wert der höchsten Datei, normalerweise die des Anwenders. Auf diese Art und Weise erstellt Kubuntu zum Beispiel die Standardkonfiguration, welche von den KDE-Standardwerten abweicht. So wird bei einer Einstellung zuerst der von KDE vorgegebene Standardwert verwendet, anschließend der von Kubuntu als Standard vorgegebene Wert und zuletzt der vom Anwender eingestellte Wert. Hat der Anwender die Einstellung nicht überschrieben und Kubuntu einen Standardwert gesetzt, so "gewinnt" nicht der KDE-Standard, sondern der Kubuntu-Standard. In dieses System lassen sich weitere Verzeichnisse eingliedern, welche über die Umgebungsvariablen `$KDEDIRS` oder im Falle von nur einem Verzeichnis `$KDEDIR` bestimmt werden. Ausgehend von dem in der Variable angegebenen Verzeichnis wird der Pfad '''/share/config/''' benötigt und in diesem Verzeichnis müssen sich die Konfigurationsdateien befinden. = Überschreiben von Werten = In den systemweiten Verzeichnissen, deren Konfigurationsdateien zuerst gelesen werden, können einzelne Optionen erzwungen werden. Ein danach eingelesener Wert aus der Konfigurationsdatei des Anwenders wird dann ignoriert. Dazu muss `[$i]` hinter den Schlüssel gesetzt werden. Beispiel: {{{ [Compositing] Enabled[$i]=false }}} Dies deaktiviert das Compositing-System, so dass der Anwender es nicht mehr aktivieren kann. Setzt man das `[$i]` hinter den Gruppenname, so kann der Anwender keine Option dieser Gruppe verändern, steht es alleine in der ersten Zeile der Datei, ist die komplette Konfigurationsdatei gesperrt. = Restriktionen von Aktionen = KDE bietet den Anwendungen ein einheitliches Aktionen-System, um die Menüs gleichermaßen aufzubauen. Dies ermöglicht es, gezielt Aktionen über Kiosk zu deaktiveren, um z.B. das Datei-Öffnen zu unterbinden oder das Starten einer Konsole. Dies kann auch über die Konfigurationsdateien vorgenommen werden und eine Einstellung in einer der systemweiten Verzeichnisse kann vom Anwender nicht überschrieben werden. Alle Aktionen werden über die Konfigurationsdatei '''kdeglobals''' bestimmt. {{{ [KDE Action Restrictions][$i] action/file_open=false }}} Dieses deaktiviert zum Beispiel den Datei-öffnen-Dialog und entfernt den Menüpunkt aus dem Datei-Menü. Eine Liste aller unterstützten Restriktionen findet sich in der [https://projects.kde.org/projects/kde/kdelibs/repository/raw/kdecore/doc/README.kiosk?rev=KDE%2F4.7 Dokumentation] {en}. {{{#!vorlage Hinweis Viele der beschriebenen Aktionen beziehen sich noch auf KDE 3 und lassen sich leider nicht ohne Weiteres auf [:Plasma:] übertragen. Ab KDE 4.6 werden wieder mehr Aktionen unterstützt. Den aktuellen Stand kann man auf der [https://userbase.kde.org/KDE_System_Administration/Kiosk/Keys KDE UserBase] {en} nachlesen. }}} {{{#!vorlage Warnung Die Anwendungen müssen KDE-Anwendungen sein und diese Aktionen unterstützen (z.B. Firefox oder LibreOffice tun dies nicht). Man sollte nicht blind darauf vertrauen. So ist es möglich, dass eine Anwendung es erlaubt, die Konsole zu öffnen, obwohl dies ausgeschaltet ist. Ein Kiosk-System muss getestet werden. }}} = Links = * [http://techbase.kde.org/KDE_System_Administration/Kiosk/Introduction Techbase Artikel zu Kiosk] {en} * [http://techbase.kde.org/KDE_System_Administration/Kiosk/Keys KDE System Administration/Kiosk/Keys] {en} #tag: System, Sicherheit, Desktop, KDE