Desktophintergrund

Aus wiki.archlinux.de

Viele einfach gehaltene Fenstermanager wie Openbox, Awesome oder Ratpoison sind oft nicht darauf ausgerichtet, Hintergrundbilder zu verwalten. Man kann dort allerdings zum Beispiel auf den Bildbetrachter „feh“ zurückgreifen. Jedoch könnten dafür auch „display“ aus dem ImageMagick-Paket, „xsetbg“, „Nitrogen“ oder „Bambus“ verwendet werden.

Feh

Feh ist ein kleiner, schneller befehlszeilenbasierter Bildbetrachter, mittels dem es unter anderem auch möglich ist, das Hintergrundbild des X-Servers anzupassen. Zuerst muss Feh natürlich installiert werden.

pacman -Sy feh

Feh bietet viele Optionen, die in der Manpage beschrieben werden. Im einfachsten Fall setzt man ein Hintergrundbild mit dem folgenden Befehl:

feh --bg-center <path>/<image>.png

Der Hintergrund geht jedoch mit Beenden der Session verloren. Um ihn dauerhaft einzurichten wird die Datei ~/.xinitrc um den folgenden Eintrag ergänzt. Der Eintrag sollte vor dem Aufruf des Fenstermanagers stehen:

feh --bg-center /pfad/zur/bilddatei &

Nitrogen

Wenn man es etwas komfortabler – aber dennoch schlank – haben will, kann man auch Nitrogen verwenden um ein Hintergrundbild zu setzen. Nitrogen zeigt alle Bilder in einem festgelegten Verzeichnis als Vorschau an und man kann eines auswählen.

Zuerst muss Nitrogen installiert werden.

pacman -Sy nitrogen

Gestartet wird es mittels „nitrogen“ und der Angabe des Verzeichnisses, aus dem die Bilder geladen werden sollen.

nitrogen /pfad/zum/bilderverzeichnis

Beim Neustart geht der Hintergrund allerdings wieder verloren. Damit der zuletzt aktive Hintergrund beim nächsten Start des Fenstermanagers wieder geladen wird, muss man in der Nitrogen-Oberfläche ein Häkchen bei „Save“ machen und folgendes in die ~/.xinitrc eintragen, auch hier sollte man darauf achten, dass der Aufruf vor dem Start des Fenstermanagers steht.

nitrogen --restore &

Bambus

Bambus ist eine kleine und schlanke Gui, um Hintergrundbilder mit Feh, Esetroot, Hsetroot oder Habak zu zeichnen. Hierzu installiert man eines dieser Pakete mit Pacman.


Bambus Installation:

i686:


Zuerst lädt man das Paket für i686 herunter und speichert es im Home Verzeichnis. Dann installiert man es mit dem Pacman Befehl:

sudo pacman -U bambus-1.2-i686.pkg.tar.gz

Bambus ist jetzt einsatzbereit.


X86:


man lädt das PKGBUILD herunter und speichert es im Home Verzeichnis. Jetzt führt man den Befehl zum Bauen des Paketes aus:

makepkg -i -c

Wenn alles geklappt hat, kann Bambus jetzt verwendet werden.


Einsatz:


Gestartet wird mit diesem Befehl:

bambus

Um das Hintergrunbild wiederherzustellen, gibt man diesen Befehl in z.b. die autostart.sh Datei ein:

bambus -restore &

Wallpapers werden per Drag & Drop in das Bambus Fenster hineingezogen. Diese werden auch beim nächsten Start wieder angezeigt. Bambus speichert dies in der .bambus.conf Datei.

display (Imagemagick)

„display“ ist Teil des ImageMagick-Paketes , dieses Paket bietet neben diesem Programm noch eine Reihe weiterer sinnvoller Tools.

pacman -Sy imagemagick

Statisches Wallpaper

Ein statisches Wallpaper kann direkt mit „display“ gesetzt werden. Dazu verwendet man einfach den folgenden Befehl.

display -window root wallpaper.png

Damit das Hintergrundbild nach dem Neustart wieder vorhanden ist, muss man den Aufruf in die Autostart-Datei des Fenstermanagers setzen. Selbstverständlich kann man den Eintrag aber auch in die .xinitrc schreiben:

display -window root .wallpaper.png &

Zufalls-Wallpaper

Möchte man bei jedem X-Start durch ein anderes Wallpaper ein wenig Abwechslung bekommen, dazu aber keine zusätzlichen Programme verwenden, so ist dies zum Beispiel mit folgendem einfachen Script möglich.

#!/bin/bash

BASEPATH="/pfad/zum/wallpaperverzeichnis"
IMAGE=$(ls ${BASEPATH} | sort -R | head -n1)

WALLPAPER="${BASEPATH}/${IMAGE}"

display -window root "${WALLPAPER}"

Die Variable „BASEPATH“ definiert hierbei das Verzeichnis, in dem die Hintergrundbilder liegen, und muss natürlich entsprechend angepasst werden. Dieses Script speichert man nun beispielsweise unter „~/.scripts/wallpaper“ ab, und macht es ausführbar. Wenn einem jetzt die Lust, nach einem anderen Wallpaper steht, führt man das Script aus, und kann sich von einem neuen Wallpaper überraschen lassen – vorausgesetzt in BASEPATH befinden sich auch welche …

Dieses Script, bzw. den Aufruf des Scripts, kann man nun statt des direkten „display“-Aufrufs in die autostart.sh von Openbox schreiben. Statt beim X-Start kann man sich das Script auch als Cronjob einstellen. Hier ist allerdings zu beachten, dass dem Script-Eintrag in der Crontab, oder dem Display-Aufruf im Script das gewünschte Display vorangestellt wird. Das aktuelle Display kann mittels

echo $DISPLAY

ausgegeben werden. Nun schreibt man vor den Aufruf einfach „DISPLAY=xxx“, wobei man xxx durch das ersetzt, was das „echo $DISPLAY“ ausgegeben hat. Ein Cronjob, der das Wallpaper alle zwei Stunden ändert, sieht dann zum Beispiel so aus:

0 */2 * * * DISPLAY=:0.0 /pfad/zum/script

Esetroot (eterm)

Das Programm „Esetroot“, das Teil des „eterm“-Paketes ist, kann ebenfalls verwendet werden, das Wallpaper zu setzen. Dazu ist es entweder als Standalone-Version aus dem AUR zu installieren, oder man installiert das Paket „eterm“.

pacman -Sy eterm

Danach ist das Wallpaper mittels …

Esetroot -c /pfad/zum/wallpaper.jpg    # Entweder zentriert, oder …
Esetroot -s /pfad/zum/wallpaper.jpg    # … auf Bildschirmgröße gestreckt

… einstellbar. Wenn das Wallpaper dauerhaft eingestellt werden soll, muss der Aufruf in die Autostart-Datei des Fenstermanager integriert werden.