Ubuntu 12.04 „Precise Pangolin“
Ubuntu 11.10 „Oneiric Ocelot“
Ab Ubuntu 11.10 bietet die grafische Anmeldung über LightDM eine Gastsitzung, die bei jeder Neuanmeldung komplett zurückgesetzt wird. Im Folgenden wird beschrieben, wie man diese Gastsitzung konfigurieren und einrichten kann. Generell werden die Einstellungen, die das Verhalten der Gastsitzung beeinflussen, im Ordner /etc/guest-session/skel/ gespeichert.
Auch in Ubuntu 11.04 gab es bereits eine Gastsitzung. Da diese jedoch den Ordner /etc/guest-session/skel/ noch nicht verwendet, kann man sie nur beeinflussen, in dem man die Vorlage, die generell für neu erstellte Benutzerkonten verwendet wird, verändert. Alle nachfolgenden Änderungen müssen also unter Ubuntu 11.04 im Ordner /etc/skel/ und nicht in /etc/guest-session/skel/ vorgenommen werden.
Man kann ein bestehendes Benutzerkonto, das als Vorlage für die Gastsitzung dienen soll, mit Root-Rechten [1] nach /etc/guest-session/skel/ kopieren. Im Terminal [2] dienen dazu folgende Befehle:
Wenn Ordner noch nicht vorhanden:
sudo mkdir -p /etc/guest-session/skel
Und dann:
sudo cp -r /home/BENUTZERNAME/* /etc/guest-session/skel
Wenn man sich nun als Gast anmeldet, sollte das Konto genau so eingerichtet sein wie das des ursprünglichen Benutzers BENUTZERNAME
.
Man sollte vorzugsweise diesen Ordner benutzen und nicht das systemweite Verzeichnis /etc/skel, weil letzteres als Vorlage für jeden neu angelegten User genutzt wird. Nachzulesen in /usr/sbin/guest-account:
1 2 3 4 5 6 7 8 | ... gs_skel=/etc/guest-session/skel if [ -d "$gs_skel" ] && [ -n "`find $gs_skel -type f`" ]; then cp -rT $gs_skel "$HOME" else cp -rT /etc/skel/ "$HOME" fi ... |
Möchte man nicht die gesamten Einstellungen eines anderen Benutzers übernehmen, kann man auch gezielt einzelne Dateien nach /etc/guest-session/skel/ kopieren.
Um das Hintergrundbild des Desktops der Gastsitzung festzulegen, legt man mit Root-Rechten unter /etc/skel/.gconf/desktop/gnome/background/ (dieser Ordner ist normalerweise nicht vorhanden) die Datei %gconf.xml an [2]:
sudo mkdir -p /etc/skel/.gconf/desktop/gnome/background/
Anschließend bearbeitet man die Datei /etc/skel/.gconf/desktop/gnome/background/%gconf.xml [1][3]:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?xml version="1.0"?> <gconf> <entry name="secondary_color" mtime="1317669748" type="string"> <stringvalue>#000000000000</stringvalue> </entry> <entry name="picture_filename" mtime="1317669748" type="string"> <stringvalue>/usr/share/backgrounds/guest.jpg</stringvalue> </entry> <entry name="primary_color" mtime="1317669748" type="string"> <stringvalue>#000000000000</stringvalue> </entry> <entry name="color_shading_type" mtime="1317669748" type="string"> <stringvalue>solid</stringvalue> </entry> <entry name="picture_options" mtime="1317669748" type="string"> <stringvalue>stretched</stringvalue> </entry> </gconf> |
In der Zeile
1 | <stringvalue>/usr/share/backgrounds/guest.jpg</stringvalue> |
wird der Pfad zum Hintergrundbild eingetragen. Das Bild sollte im Ordner /usr/share/backgrounds/ liegen, damit der Zugriff nicht scheitert.
Wenn man erreichen möchte, dass innerhalb der Gastsitzung z.B. GNOME Shell anstatt Unity gestartet wird, ist es am einfachsten, die GNOME Shell als Standard-Umgebung festzulegen.
Dazu bearbeitet man mit Root-Rechten die Datei /etc/lightdm/lightdm.conf und ändert den Eintrag user-session=...
in:
1 | user-session=gnome-shell |
Einstellungen in anderen Konten werden nicht beeinflusst.
Möchte man z.B. in Firefox gewisse Einstellungen (Lesezeichen etc.) speichern, ist es am einfachsten, die Firefox-Einstellungen eines anderen Kontos zu verwenden. Man richtet also den Firefox nach Belieben ein und kopiert dann das Verzeichnis /home/BENUTZERNAME/.mozilla/ mit Root-Rechten nach /etc/skel/:
sudo cp -r /home/BENUTZERNAME/.mozilla/ /etc/skel/
Die Firefox-Einstellungen werden erst beim Beenden von Firefox gespeichert. Daher wird folgende Reihenfolge empfohlen:
Firefox einrichten
Firefox beenden
Einstellungen kopieren
Um in der Gastsitzung automatisch Programme wie z.B. Caffeine zu starten, ist es wiederum am einfachsten, bei einem bestehenden Konto das gewünschte Programm als Autostart-Programm einzurichten. Man öffnet hierzu "Startprogramme" und klickt auf "Hinzufügen". Für Caffeine gibt man in den Feldern "Name" und "Befehl" jeweils caffeine
ein und bestätigt mit "Hinzufügen".
Nun befindet sich im Ordner /home/BENUTZERNAME/.config/autostart/ eine Datei caffeine.desktop. Diese Datei kopiert man mit Root-Rechten [1] nach /etc/skel/.config/autostart/ (dieser Ordner muss zuerst angelegt werden):
sudo mkdir -p /etc/skel/.config/autostart/ sudo cp /home/BENUTZERNAME/.config/autostart/caffeine.desktop /etc/skel/.config/autostart/
Fazit: Auf diese Weise können sämtliche Einstellungen und Dateien für die Gastsitzung eingerichtet werden.
Möchte man Dokumente oder Einstellungen, die in der Gastsitzung gemacht werden, auch nach dem nächsten Anmelden zur Verfügung haben, kann man in die Datei /usr/sbin/guest-account einen Kopierbefehl einfügen. Der erste Teil der Datei (unter add-acount ()
) wird beim Anmelden ausgeführt, der zweite Teil (unter remove-account ()
) beim Abmelden. Um Einstellungen zu speichern, ist nur der zweite Teil interessant.
Allgemein kopiert man Dateien aus dem temporären Homeverzeichnis des Gastbenutzers in den Ordner /etc/skel/, von wo sie dann beim nächsten Anmelden wieder in das Homeverzeichnis kopiert werden.
Um zum Beispiel die Firefox-Einstellungen zu speichern, öffnet man die Datei /usr/sbin/guest-account mit Root-Rechten und fügt die folgende Befehlszeile unter dem Block # kill all remaining processes
ein.
cp -r "$HOME"/.mozilla/* /etc/skel/.mozilla/
Es sollte dann etwa so aussehen:
# kill all remaining processes while ps h -u "$USER" >/dev/null; do killall -9 -u "$USER" || true sleep 0.2; done cp -r "$HOME"/.mozilla/* /etc/skel/.mozilla/ umount "$HOME" || umount -l "$HOME" || true rm -rf "$HOME"
Auf diese Weise können selbstverständlich alle Verzeichnisse oder Dokumente gesichert werden.
Wer keine Gastsitzung braucht, kann sie auch komplett deaktivieren.
Displaymanager Übersichtsseite
Customize guest session: guest-session-prefs and guest-session-prefs-lightdm - Modifizieren der Gastsitzung unter Ubuntu 11.04 und 11.10