27.09.2010
Desktopwallpaper bereits bei der Anmeldung anzeigen
von ritze.
Den Desktoprechner benutze lediglich ich als Benutzer. Daher möchte ich GDM ein wenig personalisieren, zum Beispiel soll mir GDM mein auf dem Desktop benutztes Hintergrundbild anzeigen und nicht jedes mal das langweilige Standardhintergrundbild. Dazu legt man als erstes ein kleines Skript mit den Namen .wallpaper.sh im Heimverzeichnis an:
#!/bin/bash ln -s -f "$(gconftool-2 --get /desktop/gnome/background/picture_filename)" $HOME/.wallpaper exit
Danach editiert man die bereits vorhandene Datei /etc/gdm/PostSession/Default.
#!/bin/sh if [ ${USERNAME} = "max" ]; then su $USERNAME -c /home/$USERNAME/.wallpaper.sh fi exit 0
Somit wird erreicht, dass nach jeder Abmeldung des Benutzers max das eben angelegte Skript .wallpaper.sh im Heimverzeichnis ausgeführt wird. Durch dieses wird ein Link zum aktuell benutzten Hintergrundbild vom Benutzer max angelegt. Nun muss man nur noch GDM mitteilen, dass er .wallpaper als Hintergrundbild benutzen soll:
sudo -u gdm gconftool-2 --type str --set /desktop/gnome/background/picture_filename /home/max/.wallpaper
Natürlich sollte man den Benutzer max mit seinem eigenen Benutzername austauschen.
27.09.2010
23:10
Axel ¶
Hi Ritze,
genial! Danach habe ich schon lange gesucht, aber noch nie an so ein Skripting gedacht.
Es gibt aber ein kleines “Problem”: die Hintergrundbilder für den Gdm Login müssen im Verzeichnis “/usr/share/backgrounds” liegen, sonst bleibt der Hintergrund leer. Zumindest ist das bei meinem Ubuntu 10.04 / 64 bit so.
Vielleicht kennst Du ja einen Workarround ?
Viele Grüsse
Axel
28.09.2010
08:12
mks ¶
Warum muss das Script nach jedem Abmelden ausgeführt werden? Würde es nicht reichen, den Link einmal anzulegen? Und warum setzt man dann den gconf-Eintrag auch noch? Ich hatte mal nur letzteres versucht und das klappte nicht… ??
Gruß Micha
28.09.2010
08:21
Anonymous ¶
Hm, das geht doch auch übers “Anmeldefenster” GUI unter Lokal und dann bei Hintergrund Bild auswählen?
28.09.2010
11:48
Axel ¶
So geht’s auch mit Hintergründen, die nicht in /usr/share/backgrounds liegen. Die BDUS Abfrage ist generell nötig, sonst geht’s auch mit Ritzes Vorschlag nicht zuverlässig.
# DBUS Socket Adresse erhalten, sonst klappt es nicht zuverlässig export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS= /proc/$(pgrep -u "$(whoami)" gnome-session)/environ | sed -e 's/DBUS_SESSION_BUS_ADDRESS=//') MYWALLPAPER="$(su ${USER} -c "gconftool-2 --get /desktop/gnome/background/picture_filename")" cp "${MYWALLPAPER}" /usr/share/backgrounds/.wallpaper28.09.2010
11:57
Ritze ¶
Hallo Axel,
Du kannst auch ein Link nach /usr/share/backgrounds setzen. Zum Beispiel: „sudo ln -s /home/max/.wallpaper /usr/share/backgrounds/wallpaper“ Und dann wallpaper als Hintergrund einbinden.
@Micha: Wenn man mal das Hintergrundbild als Benutzer auf dem Desktop ändert, bleibt das alte Wallpaper bei GDM weiterhin erhalten. Man muss also irgendwie erreichen, dass bei GDM jedes Mal das aktuelle Hintergrundbild benutzt wird.
@Anonymous: Ich verstehe nicht so recht, was du meinst.
Gruß Ritze
28.09.2010
12:25
Axel ¶
@Ritze: das mit dem Link in “/usr/share/backgrounds” habe ich schon ausprobiert, funzt leider nicht, Hintergrund bleibt leer
Just my 2Cents in backgroundmania
http://www.wiki.blue-it.org/Gnome#Use_desktop_wallpaper_for_gdm_login
(only for people who know what they are doing!)
Oh man Ritze, da haste bei mir wieder die bashmania angestossen