[[PageOutline]] = LTSP unter Ubuntu = == GConf, GSettings und DConf == GNOME speichert seine Einstellungen in einer Datenbank. Früher hieß diese Datenbank und das dazugehörige API //GConf//. Seit einiger Zeit wird jedoch graduell auf das neue API //GSettings// umgestellt. Zukünftig sollen alle Gnome-Programme ihre Einstellungen darüber speichern und auslesen. Unity tut das bereits jetzt, aber nicht alle Programme haben umgestellt. //GSettings// definiert nur das API, die tatsächlichen Daten werden in einer geeigneten Datenbank abgelegt. Unter Windows landen die Daten z.B. in der Registry. Unter Linux wird als Datenbank-Backend //DConf// verwendet. //Gsettings// hat derzeit anscheinend noch kein eigenes GUI-Tool, sondern nur ein CLI (man:gsettings), mit dem man aber recht gut umgehen kann. Wird ein GUI gewünscht, so kann man `dconf-editor` aus dem Paket `dconf-tools` verwenden und direkt auf die Datenbank zugreifen. === Systemweite Vorgaben === Da derzeit noch das alte GConf und das neue GSettings/Dconf nebeneinander benutzt werden, muss man jeweils suchen, in welcher der beiden Datenbanken das betreffende Programm seine Voreinstellungen speichert. Das Verfahren ist dann unterschiedlich: ==== GConf ==== - Die betreffenden GConf-Schlüssel werden am besten über den grafischen gconf-editor (als root) in einen "mandatory" oder "default"-Schlüssel verwandelt. - Das muss auf einem LtspServer geschehen, danach muss die betreffende Datenbank per "rsync-to-all-ltsp-servers" auf die anderen verteilt werden: {{{ # rsync-to-all-ltsp-servers /etc/gconf/gconf.xml.defaults/%gconf-tree.xml # rsync-to-all-ltsp-servers /etc/gconf/gconf.xml.mandatory/%gconf-tree.xml }}} - Wurden Defaults geändert und sollen diese Änderung alle Nutzer einmalig "übergebraten" bekommen, muss danach der entsprechende GConf-Schlüssel der Nutzer zurückgesetzt werden. Das geschieht auf **einem** LtspServer mit {{{ # for u in $(teachers) $(students); do sudo -sHu $u dbus-launch gconftool --unset /PFAD/ZUM/SCHLÜSSEL ; done }}} Beispiel:: Docky-Launcherleiste aktualisieren. == Unity == In den neueren Ubuntu-Versionen wurde der Gnome-Desktop teilweise durch die Alternative Unity (entwickelt von der Ubuntu-Firma Canonical) ersetzt. === Unity-Launcher === Der Inhalt des Unity-Launchers (Programmstarter) kann über den dconf-Machanismus konfiguriert werden. Dazu auf den LtspServern 1. Datei /etc/dconf/db/site.d/00_site_settings editieren 1. Soll der Inhalt unveränderbar sein, auch Datei /etc/dconf/db/site.d/locks/oo_site_locks entsprechend anpassen 1. (Achtung, keine Tilde-Backups der alten Dateien herumliegen lassen, die werden mit gelesen!) 1. dconf update 1. Wenn der Inhalt nicht gelockt sein soll, sondern die Nutzer nur den neuen Inhalt des Launchers per Default bekommen sollen, muss jetzt der entsprechende gconf-Schlüssel der Nutzer zurückgesetzt werden. Dazu als root auf einem LtspServer: {{{ for u in $(teachers) $(students) ; do sudo -sHu $u dbus-launch gsettings reset-recursively com.canonical.Unity.Launcher ; done }}} Hinweis:: statt des "dbus-launch-Tanzes" oben vielleicht mal die hier angegebene Technik ausprobieren: http://wiki.ubuntuusers.de/LightDM#Unity === Indicators === Die früheren Gnome-//Notifications// (systray) wurden durch ein neues Plugin-System (//Indicators//) ersetzt. Hier gibt es eine (unvollständige) Liste verfügbarer Unity-Indicators: http://askubuntu.com/questions/30334/what-application-indicators-are-available Was uns leider dringend fehlt, ist ein Indicator für CupsPykota. Dort scheint es nur die "alte" Gnome-Notofication zu geben. ==== Whitelisting von Gnome-Notifications ==== Vielleicht gibt es eine Lösung. Das Stichwort lautet "whitelisting" -- es können bestimmte Gnome-Notofications freigeschaltet werden, die dann neben den Indicators erscheinen. Dazu muss ein dconf-Schlüssel gesetzt werden: `com.canonical.Unity.Panel->systray-whitelist`. Dieser Schlüssel ist ein Array von Strings mit den Programmnamen, deren Notifikationen im Unity-Panel erscheinen dürfen. Setzt man den Schlüssel auf den Wert `['all']`, so sind //alle// Gnome-Notifications erlaubt. Für den aktuellen Nutzer kann der Schlüssel von der Kommandozeile aus gesetzt werden: {{{ > gsettings set com.canonical.Unity.Panel systray-whitelist "['all']" }}} Alternativ geht das mit dem GUI-Tool `dconf-editor`, das sich im Paket `dconf-tools` findet. Danach muss Unity neu gestartet werden, d.h. für Unity 3d: {{{ > unity --replace & }}} bzw. Unity 2d: {{{ > killall unity-2d-panel }}} Oder der Nutzer loggt sich aus und wieder ein. == Gnome == === Speicherort für die Gnome-Session === Hallo Rüdiger, ich habe endlich den Speicherort der voreingestellten Gnome-Session gefunden: `~/.dmrc` dort steht unter anderem: {{{ [Desktop] Session=gnome-classic }}} Grüße\\ Jens === Gnome-Panel resetten === Hinweis: Mit der Unity-Oberfläche wird das Gnome-Panel nicht mehr verwendet. Die Applets des Gnome-Panels sind leider nicht immer stabil (#28). Die einfachste Möglichkeit, Probleme damit zu beheben, ist, das Gnome-Panel komplett zu resetten. Hier ist beschrieben, wie das geht: > How to reset gnome-panel to default in Ubuntu/Gnome2\\ > by Robert Daeley, Thu, 2006-08-31 > > 1. rm -r ~/.gconf/apps/panel or just move the folder elsewhere if you want to back it up. > 1. Log out of Gnome, then back in. > 1. There is no step 3. === Lockdown === Einige Desktop-Funktionen sollten für unsere User gesperrt werden. Früher gab es dafür Einträge in der Systemweiten GConf-Datenbank, die entweder direkt oder mithilfe des Programms "Pessulus" bearbeitet werden konnten. //GConf// wird zur Zeit durch //dconf// ersetzt. Der Befehl {{{gsettings}}} ist ein einfaches Interface zur //dconf//-Datenbank der einzelnen Nutzer. Systemweite Werte vorzugeben ist aber etwas komplizierter. Der Prozess wird hier dokumentiert. Dconf und seine Verwendung ist auf dieser Seite beschrieben: https://live.gnome.org/dconf/SystemAdministrators == Standardprogramme für das Öffnen von Dateien == So ändert man die systemweiten Defaultprogramme für das Öffnen bestimmter Dateityoen (z.B. Medienfiles, DVDs, etc): comment:4:ticket:282. == Display Manager == Seit einigen Versionen wurde in Ubuntu der ''Gnome Display Manager'' (gdm) durch den ''Light Display Manager'' (lightdm) ersetzt. Der Unterschied fällt nur ins Gewicht, wenn man sich direkt an einem LtspServer einloggt. An den Clients geschieht der Login über den //LTSP Display Manager// (ldm). === Light Display Manager (lightdm) === Die Konfiguration des lightdm (beim Einloggen direkt an den Servern) ist hier beschrieben: UbuntuUsersDe:LightDM#Konfiguration. Für uns interessant ist im wesentlichen die folgende Option in `/etc/lightdm/lightdm.conf`: {{{ greeter-hide-users=true }}} Dadurch wird die Anzeiger sämtlicher Nutzer am Anmeldebildschirm unterdrückt, und die Nutzer können stattdessen ihren Loginnamen eingeben. == Weiterführende Links == Viele Informationen zu LTSP unter Ubuntu finden sich im Ubunut-Wiki: https://help.ubuntu.com/community/UbuntuLTSP. ---- [[CC_BY_NC_SA(Dr. Rüdiger Kupper, Kepler-Gymnasium Freudenstadt)]]