Desktophintergrund

Aus wiki.archlinux.de
Version vom 5. September 2010, 15:08 Uhr von Dirk (Diskussion | Beiträge) (-Syu in -S gewandelte gemäß diskussion hier: https://bbs.archlinux.de/viewtopic.php?id=17347)

Wechseln zu: Navigation, Suche

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 -S 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 &


Bambus

Bambus ist ein kleines und schlankes GUI, um Hintergrundbilder mit Feh, Esetroot, Hsetroot, Habak, u.Ä. zu zeichnen. Hierzu installiert man eines dieser Pakete mit Pacman. Bambus selbst ist im AUR verfügbar. Im Forum gibt es zudem einen Thread zu dem Program.

Installation

yaourt -S bambus

Verwendung

Gestartet wird mit diesem Befehl:

bambus

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

bambus -restore &

Will man ein beliebiges Wallpaper zeichnen gibt es diesen Befehl;

bambus -any &


Wenn man die Wallpaper nach der Reihe abarbeiten will, hilft dieser Befehl weiter:

bambus -each &

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.

Will man Befehle in die Extensionbox von der TextBox (Dort wo man die Befehle eingibt) hinzufügen, muss man nur die .bambus.conf öffnen und einen beliebigen Befehl eingeben:

command_extension=Esetroot -s

Nitrogen

Wenn man es etwas komfortabler – aber dennoch schlank – haben will, kann man auch Nitrogen Sprache en.png 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 -Syu 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 &


display (Imagemagick)

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

pacman -Syu 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 -Syu 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.