ubuntuusers.de

arctica-greeter konfigurieren

Hinweis:

Dieses Howto wurde von fleet_street erstellt. Bei Problemen mit der Anleitung melde dies bitte in der dazugehörigen Diskussion und wende dich gegebenenfalls zusätzlich an den/die Verfasser des Howtos.

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


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Problembeschreibung

Ubuntu Mate hatte in der Version 20.04 noch ein Systemprogramm namens "Anmeldefenster", mit dem man die Anzeige bzw. das Verhalten während der Benutzeranmeldung beeinflussen konnte. Seit Version 21.04 wird jedoch der dafür verwendete slick-greeter durch artica-greeter ersetzt, weshalb das nicht mehr funktioniert. Nach einem Versionsupgrade auf die nun aktuelle Version 22.04 ist zwar das Programm "Anmeldefenster" noch installiert, aber es zeigt keine Wirkung mehr.

Möchte man den alten Zustand wieder haben, deinstalliert man den artica-greeter und installiert stattdessen lightdm-settings sowie slick-greeter, wie unter LightDM Settings beschrieben.

Hier soll es um die Einflussnahme auf den artica-greeter gehen. Da artica-greeter nicht auf die Konfigurationsdateien unter /etc/lightdm.conf.d reagiert, sondern seine Einstellung per dconf/gsettings sucht, ist es ein wenig schwieriger, aber nicht unmöglich.

In den folgenden Beispielen wird das Hintergrundbild geändert. Es sind jedoch noch weitere Einflussnahmen auf den artica-greeter möglich. Welche das sind, kann mit dem Konfigurationseditor erkunden.

Nach einem Eingriff – egal nach welcher Methode – ist ein Neustart des Rechners erforderlich, damit der Anmeldebildschirm auch die neue Einstellung einliest.

Methode A – "quick and dirty"

Man muss nur herausbekommen, welche Datei als Hintergrundbild verwendet wird, und ersetzt die Originaldatei durch das eigene Bild. Dazu kann man mit dem Konfigurationseditor nach „artica“ und „background“ suchen bzw. im Terminal:

gsettings get org.ArcticaProject.arctica-greeter background 

Den Dateimanager Caja versetzt man über Rechtsklick → Als Systemverwalter öffnen in die Lage in dem ermittelten Verzeichnis Änderungen vorzunehmen. Ist das eigene Bild richtig platziert, startet man den Rechner neu. Zeigt sich nicht das gewünschte Bild, hat man entweder nicht das richtige Verzeichnis erwischt oder die Groß-/Kleinschreibung durcheinander gebracht.

sudo cp /usr/share/backgrounds/arctica-greeter.png /usr/share/backgrounds/ubuntu-mate-jammy/Jammy-Jellyfish_WP_4096x2304_Green.png 

Nachteil dieser Methode ist ganz sicher, dass bei einer Aktualisierung der Pakete arctica-greeter, ubuntu-mate-wallpapers-jammy sowie ubuntu-mate-default-settings sich auch das Hintergrundbild auf den neuen Standard ändern kann. Wobei man mit einer gewissen Sicherheit davon ausgehen kann, dass die Hintergrundbilder nicht geändert werden, sondern eher durch neue Pakete (…-kinetic, ff.) ergänzt werden, wohingegen der arctica-greeter wohl bis zum Upgrade auf eine höhere Ubuntu-Version unverändert bleiben wird; Zumindest was das Hintergrundbild angeht.

Methode B – umständlicher und trotzdem ein wenig schmutzig

Es wird die binäre Konfigurationsdatei für dconf eines Benutzers in das Benutzerverzeichnis des Systembenutzers lightdm kopiert. Da die eine oder andere private Information in dieser Datei gelandet sein könnte, sollte sie besser von einem extra angelegten Benutzer erfolgen.

Hinweis:

Hat man ein Upgrade auf die aktuelle Version hinter sich, gibt es noch ein grafisches Werkzeug um neue Benutzer anzulegen. Das kann natürlich noch genutzt werden. Wer hingegen eine Neuinstallation von Ubuntu MATE 22.04 gemacht hat, wird dieses Werkzeug nicht finden, es wird erst in Ubuntu MATE 22.10 ein Ersatz enthalten sein. Deshalb hier der Verweis auf das Terminal: (Wer stattdessen lieber das veraltete gnome-system-tools installiert, … )

Es wird ein Benutzer dummy angelegt (s. adduser)

sudo adduser dummy 

Sodann muss man den Benutzer auf grafischem Weg wechseln und die Einstellung für das Hintergrundbild mittels Konfigurationseditor oder gsettings ändern:

gsettings set org.ArcticaProject.arctica-greeter background "'/usr/share/backgrounds/arctica-greeter.png'" 

Nun sollte man sich wieder abmelden und als normaler Benutzer anmelden. (Sonst müsste dummy auch noch in die Gruppe sudo und das wäre doch unnötig).

Nun kann man die Konfigurationsdatei des Benutzer dummy ins Benutzerverzeichnis des Benutzers lightdm kopieren/verschieben. Den Dateimanager Caja versetzt man über rechte MaustasteAls Systemverwalter öffnen in die Lage in dem Zielverzeichnis Änderungen vorzunehmen. Um in das Quellverzeichnis /home/dummy/.config/dconf zu gelangen, lässt man sich über "Darstellung" → "Verborgene Dateien anzeigen" ( Strg + H ) eben genau Letzteres. Anschließend blendet man über "Darstellung" → "Zusätzliche Leiste" (bzw. F3 ) ein weiteres Mal das Quellverzeichnis ein. In die erschienene Wechselt man, kann über Strg + L die Pfadeingabe einschalten, löscht aus dem Pfad das /home/dummy heraus und ersetzt es durch /var/lib/lightdm, was man noch kurz mit bestätigen muss, damit der geänderte Pfad wirksam wird. Nun kann man die einzige im Quellverzeichnis enthaltene Datei user aus der linken Leiste in das Zielverzeichnis auf der rechte Seite herüberziehen. Anschließend sollte man noch über rechte Maustaste "Eigenschaften" im Reiter "Zugriffsrechte" den Besitzer auf lightdm ändern. Denn nur so kann man im Anmeldefenster direkt bspw. die Einstellung der Lautstärke vornehmen.

dummy-to-lightdm.png

Alternativ kurz im Terminal:

sudo cp /home/dummy/.config/dconf/user /var/lib/lightdm/.config/dconf/user 

Den Benutzer dummy kann man dann auch wieder löschen

sudo deluser --remove-home dummy 

Vorteil dieser Methode ist, dass sie eine Aktualisierung des Systems übersteht.

Methode C – Änderung als Benutzer lightdm

Diese sehr feine Methode, die ausschließlich im Terminal stattfindet, arbeitet im Kontext des Benutzers lightdm und schreibt so die Änderung in die richtige Datei.

Einstellung ermitteln

Es ist zwar ein langes Kommando, aber immerhin ein Einzeiler.

sudo setpriv --reuid=lightdm --reset-env dbus-launch gsettings get org.ArcticaProject.arctica-greeter background 

Erklärung

Zunächst benötigen wir erweiterte Rechte mittels vorangestelltem sudo, damit der folgende Wechsel der Privilegien auch funktionieren kann. Für diesen Wechsel wird das Programm setpriv verwendet. Mit dessen Option --reuid legen wir zunächst fest, dass die reale und effektive Benutzerkennung (engl.: user identifier; kurz: uid) lightdm sein soll. Durch die weitere Option --reset-env weisen wir es zudem an, die Umgebungsvariablen (environment) durch die dieses Benutzers zu ersetzen. (Wichtig ist hier vor allem HOME=/var/lib/lightdm.)

Als nächstes wird in diesem Kontext nun das Programm dbus-launch ausgeführt, welches verwendet wird um eine D-Bus-Session von einem Shell-Skript aus zu starten (üblicherweise erfolgt das über einen Dämon bei der grafischen Anmeldung eines Benutzers, aber wir wollen lightdm ja nicht grafisch anmelden.). Dies (dbus) ist wiederum eine zwingende Voraussetzung, damit gsettings arbeiten kann. gsettings wird nun abschließend angewiesen mittels get etwas auszulesen, nämlich aus dem Schema org.ArcticaProject.arctica-greeter den Schlüssel (engl. key) background.

Einstellung setzen

Nach der obigen Beschreibung kann man für das Ändern der Einstellung das Kommando nur mit set (statt get) und dem gewünschten Dateinamen ausführen. Dabei ist zwingend darauf zu achten, dass der Dateiname in einfachen Hochkommata eingeschlossen ist. Um das zu erreichen, wird es bei der Eingabe nochmals in normale Anführungszeichen verpackt.

sudo setpriv --reuid=lightdm --reset-env dbus-launch gsettings set org.ArcticaProject.arctica-greeter background "'/usr/share/backgrounds/arctica-greeter.png'" 

Experten-Info:

Beim erstmaligen Auslesen der Einstellung existiert die Datei /var/lib/lightdm/.config/dconf/user noch nicht. Es wird also der Standard ausgelesen. Erst nach dem ersten Setzen eines Wertes wird die Datei angelegt.

Methode D – systemweite Änderung

Hinweis:

Hat man zuvor schon eine der Methoden B oder C angewendet, greift diese Methode D erst nach dem Löschen der Datei /var/lib/lightdm/.config/dconf/user.

Das meiste dieser Methode kann grafisch erledigt werden. Der Dateimanager Caja wird gestartet und dann ins Verzeichnis /etc gewechselt. Das darin enthaltene Verzeichnis dconf wird mit der rechten Maustaste angeklickt und Als Systemverwalter öffnen ausgewählt. Nach erfolreicher Passwortabfrage hat man die Rechte Änderungen vorzunehmen. Es wird unterhalb von dconf ein neues Verzeichnis profile erstellt. Darin eine neue, leere Textdatei, die man user benennt. Per Rechtsklick rechte Maustaste wird diese Datei mit einem reinen Texteditor geöffnet (und nicht mit dem Libreoffice Writer o. ä.). Nun fügt man folgen Inhalt hinein:

user-db:user
system-db:local

und speichert sie ab.

Dann wechseln man wieder eine Ebene höher nach dconf und steigt nach db ab. Hier muss zunächst ein neues Unterverzeichnis local.d erstellt werden. Darin eine neue, leere Textdatei, die man arctica-background benennt. Mit Doppelklick kann man sie bearbeiten, den Text wie folgt verfassen und speichern:

# dconf-Pfad
[org/ArcticaProject/arctica-greeter]

# dconf-Schlüsselnamen und zugehörige Werte
background='/usr/share/backgrounds/arctica-greeter.png'

Nun kann im Dateimanager per Rechtsklick Im Terminal öffnen gewählt werden, womit man sich die erneute Passwortabfrage erspart – aber Vorsicht, als Systemverwalter können kleine Tippfehler gravierende Auswirkungen haben. Am Besten per Rechtsklick kopieren bzw. einfügen:

dconf update 

Methode E – Schema Überschreibung

Hinweis:

Hat man zuvor schon eine der Methoden B oder C angewendet, greift diese Methode E erst nach dem Löschen der Datei /var/lib/lightdm/.config/dconf/user.

Für dconf gibt es im Verzeichnis /usr/share/glib-2.0/schemas/ Xml-Dateien, die die Beschreibungen für Schema, ihre Schlüssel und ihre Vorgabewerte beinhalten. Diese Dateien sollte man nicht bearbeiten, da sie der Paketverwaltung unterstehen. Es gibt jedoch die Möglichkeit mit einer override-Datei, wie sie auch seitens Ubuntu MATE mehrfach genutzt wird, das Verhalten abweichend von den Ideen der Maintainer bzw. Distributoren zu setzen.

Man wechselt also mit dem Dateimanager Caja in das genannte Verzeichnis, verschafft sich die Rechte eines Systemverwalters, öffnet per Rechtsklick rechte Maustaste wird die Datei 30_ubuntu-mate.gschema.override mit einem Texteditor, da sie als Vorlage dienen kann. (Unter Ubuntu MATE 22.04 enthält sie nämlich die Überschreibung auf das Hintergrundbild).

Alles außer den oberen beiden Zeilen kann man löschen, als Wert zu background fügt man den absoluten Pfad für das gewünschte Hintergrundbild ein, wählt "Datei → Speichern unter" und als Dateiname bspw. 99_benutzerdefiniert.gschema.override.

Der Inhalt der Datei sieht dann bspw. so aus:

[org.ArcticaProject.arctica-greeter]
background='/usr/share/backgrounds/arctica-greeter.png'

Alternativ im Terminal eine neue Datei erstellen:

echo "[org.ArcticaProject.arctica-greeter]
background='/usr/share/backgrounds/arctica-greeter.png'" | sudo tee /usr/share/glib-2.0/schemas/99_benutzerdefiniert.gschema.override 

Für den abschließenden Schritt führt kein Weg am Terminal vorbei, denn der geänderte Wert muss noch in die Datenbank eingelesen werden mit:

sudo glib-compile-schemas /usr/share/glib-2.0/schemas/ 

Diese Revision wurde am 28. November 2022 13:56 von fleet_street erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Howto