ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

Gastsitzung

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/Oxygen/preferences-system-login.png 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.

Vorhandenes Benutzerkonto als Muster

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
...

Einzelne Einstellungen ändern

Möchte man nicht die gesamten Einstellungen eines anderen Benutzers übernehmen, kann man auch gezielt einzelne Dateien nach /etc/guest-session/skel/ kopieren.

Desktop-Hintergrund (GNOME und Unity)

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.

Sitzung

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

Hinweis:

Einstellungen in anderen Konten werden nicht beeinflusst.

Programm-Einstellungen

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:

  1. Firefox einrichten

  2. Firefox beenden

  3. Einstellungen kopieren

Autostart-Programme

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.

Einstellungen und Dokumente speichern

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.

Gastsitzung deaktivieren

Wer keine Gastsitzung braucht, kann sie auch komplett deaktivieren.

ubuntuusers.local › WikiGastsitzung