[[Vorlage(Getestet, focal, bionic)]] {{{#!vorlage Wissen [:mit_Root-Rechten_arbeiten: mit Root-Rechten arbeiten] [:Editor: Einen Editor öffnen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(1)]] Die [:Gastsitzung:] unter [:LightDM:] kann vom Verwalter des Rechners nach seinen Vorstellungen angepasst werden. Ein paar Kniffe zeigt dieser Artikel. {{{#!vorlage Hinweis Unter Ubuntu MATE 22.04 wird das Vorlagenverzeichnis '''/etc/guest-session/skel/''' ignoriert. }}} = Vorhandenes Benutzerkonto als Muster = Im Folgenden wird beschrieben, wie man diese Gastsitzung anpassen kann. Generell werden die Einstellungen, die das Verhalten der Gastsitzung beeinflussen, im Ordner '''/etc/guest-session/skel/''' gespeichert. Man kann ein bestehendes Benutzerkonto, das als Vorlage für die Gastsitzung dienen soll, mit Root-Rechten [1] in diesen Ordner kopieren. Im Terminal [3] dienen dazu folgende Befehle: Wenn Ordner noch nicht vorhanden: {{{#!vorlage Befehl sudo mkdir -p /etc/guest-session/skel }}} Man sollte vorzugsweise den Ordner ''' /etc/guest-session/skel''' als Ziel benutzen und nicht das systemweite Verzeichnis '''/etc/skel''', weil letzteres als Vorlage für jeden neu angelegten User genutzt wird. {{{#!vorlage Befehl 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`. Möchte man absolut identische Einstellungen haben, kann der folgende Befehl nützlich sein, der auch [:Versteckte_Dateien:] mitkopiert. Aber Vorsicht: auf diese Weise gelangen unter Umständen persönliche Daten (Kennwörter und vertrauliche Informationen) in falsche Hände! {{{#!vorlage Befehl sudo cp -r /home/BENUTZERNAME/. /etc/guest-session/skel }}} = 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. Interessant ist dabei bswp. die Datei ''.config/gnome-initial-setup-done'', ohne die der Gast sonst bei jeder Nutzung durch die Einrichtung geführt wird. Ähnliches gilt für ''.cache/ubuntu-report'' und ggf. ''.local/share/gnome-shell/lock-warning-shown''. == Desktop-Hintergrund == In den Beispielen wird das Hintergrundbild unter GNOME und Unity geändert. Es gibt u. a. folgende Möglichkeiten \\ a) Nutzen des Startskripts '''/etc/guest-session/auto.sh''' der Gastsitung durch hinzufügen von {{{ #!/bin/bash gsettings set org.gnome.desktop.background picture-uri "'file:///usr/share/backgrounds/guest.jpg'" }}} b) einen Starter im '''/etc/guest-session/.config/autostart/''' {{{ [Desktop Entry] Name=Hintergund Type=Application Terminal=false Exec=gsettings set org.gnome.desktop.background picture-uri "'file:///usr/share/backgrounds/guest.jpg'" Autostart-enabled=true Autostart-Delay=2 }}} c) Für [:GTK:]-basierte Desktopumgebungen kann auch eine systemweite Einstellung eines Hintergrundbildes für alle neuen Benutzer eingerichtet werden: [https://help.gnome.org/admin/system-admin-guide/stable/dconf-custom-defaults.html.de gnome.org: Benutzerdefinierte Vorgabewerte für Systemeinstellungen] == 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/guest-session/skel/''': {{{#!vorlage Befehl sudo cp -r /home/BENUTZERNAME/.mozilla/ /etc/guest-session/skel/ }}} Die Firefox-Einstellungen werden erst beim Beenden von Firefox gespeichert. Daher wird folgende Reihenfolge empfohlen: 1. Firefox einrichten 1. Firefox beenden 1. 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/guest-session/skel/.config/autostart/''' (dieser Ordner muss zuerst angelegt werden): {{{#!vorlage Befehl sudo mkdir -p /etc/guest-session/skel/.config/autostart/ sudo cp /home/BENUTZERNAME/.config/autostart/caffeine.desktop /etc/guest-session/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/guest-session/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. {{{#!vorlage Befehl cp -r "${GUEST_HOME}"/.mozilla/* /etc/guest-session/skel/.mozilla/ }}} Es sollte dann etwa so aussehen: {{{ … GUEST_HOME=$(echo ${PWENT} | cut -f6 -d:) # kill all remaining processes if [ -x /bin/loginctl ] || [ -x /usr/bin/loginctl ]; then loginctl --signal=9 kill-user ${GUEST_USER} >/dev/null || true else while ps h -u ${GUEST_USER} >/dev/null do killall -9 -u ${GUEST_USER} || true sleep 0.2; done fi [mark]cp -r "${GUEST_HOME}"/.mozilla/* /etc/guest-session/skel/.mozilla/[/mark] if [ ${GUEST_HOME} = ${GUEST_HOME#/tmp/} ]; then echo "Warning: home directory ${GUEST_HOME} is not in /tmp/. It won't be rem oved." else … }}} Auf diese Weise können selbstverständlich alle Verzeichnisse oder Dokumente gesichert werden. = Links = * [:Gastsitzung:] * [:Displaymanager:] {Übersicht} Übersichtsartikel # tag: Ubuntu, Desktop