Abwechselnde Hintergrund-Bilder beim Linux-Login
Auf der Festplatte schlummern bei uns mittlerweile so viele Bilder, aber leider finden wir nie Zeit, diese auch mal anzuschauen. Daher habe ich mir irgendwann überlegt, beim Starten von Linux jedes mal ein neues, zufälliges Login-Hintergrundbild anzeigen zu lassen. Wie das bei der Verwendung von LightDM geht, habe ich hier aufgeschrieben.
Zunächst benötigen wir das Skript RandomPicture.sh, welches in /usr/local/bin/
liegt und ausführbar sein muss. Bitte die Variablen selbst anpassen: Der Bilderordner und das Alternativbild sollte vorhanden sein:
#!/bin/bash # # Dieses Skript waehlt aus dem Verzeichnis $BILDERORDNER ein zufaelliges # Bild aus und gibt seinen Namen auf der Konsole aus. Ist im # BILDERORDNER keine Datei vorhanden, wird $ALTERNATIVBILD # ausgegeben. BILDERORDNER="/usr/local/share/pictures" ALTERNATIVBILD="/usr/share/backgrounds/lightdm/lightdm-gtk-greeter.jpg" NUMFILES=$( ls -1 $BILDERORDNER | wc -l ) if [ $NUMFILES -ne 0 ] then NUM=$[ ( $RANDOM % $NUMFILES ) + 1 ] FNAME=$(ls -1 $BILDERORDNER | head -n ${NUM} | tail -n 1) echo $BILDERORDNER/$FNAME else echo $ALTERNATIVBILD fi exit 0
Dieses Skript macht nichts anderes, als den vollen Pfad zu einem zufällig gewählten Bild im Bilderordner auf der Konsole auszugeben.
Jetzt habe ich mir noch das Skript /usr/local/bin/lightdm-init.sh
gebaut, welches auf dieses Bild einen Softlink im Verzeichnis /tmp
ablegt:
#!/bin/sh if [ ! -f /tmp/RandomPicture.jpg ] # Falls /tmp bei jedem Boot geleert wird then ln -s "$(/usr/local/bin/RandomPicture.sh)" /tmp/RandomPicture.jpg fi exit 0
/tmp/RandomPicture.jpg
soll als Hintergrund im light-dm-greeter angezeigt werden. Daher braucht man in /etc/lightdm/lightdm-gtk-greeter.conf
die Einstellung:
background=/tmp/RandomPicture.jpg
Schließlich: Bei jedem Start von lightdm muss /usr/local/bin/lightdm-init.sh
ausgeführt werden, um /tmp/RandomPicture.jpg
neu zu erstellen. Diese Einstellung nimmt man in /etc/lightdm/lightdm.conf
vor:
[Seat:*] greeter-setup-script=/usr/local/bin/lightdm-init.sh
Beim nächsten Start von Linux und LightDM müsste jetzt ein zufällig ausgewähltes Hintergrundbild auf dem Login-Bildschirm erscheinen.