Gnome 3 kann mehrere Hintergrundbilder als Slideshow anzeigen. Aber es wäre nicht Gnome, wenn die Einstellungsmöglichkeiten per GUI nicht völlig kastriert wären, denn im entsprechenden Dialog können nur vorgefertigte Slideshows ausgewählt werden.
Also muss man wieder einen Texteditor bemühen, glücklicherweise muss man nur 2 Dateien erstellen. Vorher erstellt man noch 2 Verzeichnisse, falls diese noch nicht existieren.
mkdir -p ~/.local/share/gnome-background-properties
mkdir -p ~/.local/share/backgrounds
Unter ~/.local/share/gnome-background-properties speichert man eine XML-Datei mit beliebigen Namen (z.B. myslideshow.xml) mit folgendem Inhalt:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
<wallpaper>
<name>My Slideshow</name>
<filename>.local/share/backgrounds/myslideshow.xml</filename>
<options>zoom</options>
</wallpaper>
</wallpapers>
Dann erstellt man die Datei .local/share/backgrounds/myslideshow.xml in der die eigentlichen Bilder angegeben werden. Hier ein kleines Template dafür:
<?xml version="1.0" encoding="UTF-8"?
<background>
<starttime>
<year>2012</year>
<month>01</month>
<day>01</day>
<hour>00</hour>
<minute>00</minute>
<second>00</second>
</starttime>
<static>
<duration>1800.0</duration>
<file>.local/share/backgrounds/image1.png</file>
</static>
<transition>
<duration>5.0</duration>
<from>.local/share/backgrounds/image1.png</from>
<to>.local/share/backgrounds/image2.png</to>
</transition>
<static>
<duration>1800.0</duration>
<file>.local/share/backgrounds/image2.png</file>
</static>
<transition>
<duration>5.0</duration>
<from>.local/share/backgrounds/image2.png</from>
<to>.local/share/backgrounds/image3.png</to>
</transition>
<static>
<duration>1800.0</duration>
<file>.local/share/backgrounds/image3.png</file>
</static>
<transition>
<duration>5.0</duration>
<from>.local/share/backgrounds/image3.png</from>
<to>.local/share/backgrounds/image1.png</to>
</transition>
</background>
Dürfte relativ selbsterklärend sein. Die Bilder werden in der Reihenfolge angezeigt, in der sie in der Datei gelistet sind. Die Pfade zu den einzelnen Bilddateien können beliebig gewählt werden. Mit einem static
-Element gibt man ein Bild an, dass dann für die gewünschte Dauer angezeigt wird. Übergänge zwischen Bildern können mit den transition
-Elementen gemacht werden.
Hat man alle Dateien wie gewünscht erstellt, kann die eigene Slideshow dann in den Einstellungen für Hintergrundbilder ausgewählt werden.
Vor kurzem hab ich versucht ein kleines Stück Software auf einer exotischen RISC-Plattform zum Laufen zu bringen, doch bei der Ausführung crashte das Programm. Der Grund war Code der in etwa das machte:
int *intptr = (int*)(str + 15);
Um von einer bestimmten Stelle aus einem Speicherbereich ein int
zu lesen wurde ein char*
verschoben und zu einem Integer-Pointer gecasted. Beim anschließenden Zugriff auf diesen Pointer stürzte das Programm ab. Der Grund ist, dass nicht alle CPU-Architekturen beliebig wahllose Speicherzugriffe erlauben, sondern nur auf richtig ausgerichtete Adressen, die ein Vielfaches von n (meistens 4) sind. Siehe Data structure alignment
Jetzt sind allerdings die verbreitetsten CPU-Architekturen x86 und ARM, und die kommen auch mit misaligned Memory klar. Warum sollte man das dann überhaupt beachten? Weil auch wenn es auf diesen CPUs fehlerfrei funktioniert, hat es zumindestens Performance-Auswirkungen. Es werden dann nämlich einfach 2 Speicherzugriffe gemacht. Ich habe ein interessanten Blogpost zu dem Thema gefunden, in dem jemand ein Performance-Test gemacht hat. Das Ergebnis ist, dass im schlimmsten Fall die Speicherzugriffe doppelt so lange dauern.
Wenn man jetzt aber doch auf nicht-ausgerichteten Speicher zugreifen will, kann man immer noch memcpy nutzen, denn das kann die Adresse berichtigen und dann größtenteils optimierte Speicherzugriffe machen.
Gigabit-Ethernet gibt es jetzt schon lange (der Standard für 1000BASE-T ist von 1999) und lange Zeit war es ausreichend, zumindestens im Consumerbereich. Mit einzelnen Festplatten hat man selbst bei sequenziellen Schreib- und Leseoperationen weniger als 100 Mb/s geschafft. Seit ein paar Jahren sieht das jedoch schon anders aus. SSDs sind weit verbreitet und selbst gammelige Festplatten lasten GbE voll aus. Da bald selbst WLAN schneller als 1 Gbit/s ist, wäre es eigentlich an der Zeit, dass sich 10 GbE auch im Consumerbereich durchsetzt.
Aber nein, das passiert wohl nicht. Stattdessen kommt Ethernet mit 2,5 und 5 Gbit/s. Wie heise berichtet gibt es sogar schon ein Switch dafür (allerdings auch nicht Consumertauglich). Der Standard für diese Ethernet-Varianten soll Mitte 2016 fertig sein. Wann es dann noch mehr Hardware gibt, vor allem passende NICs, PCs, Notebooks und Mainboards mit 5 GbE, wird natürlich spannend. Ich vermute erst dann, wenn jeder PCIe-basierte SSDs hat, die locker 1 Gb/s schreiben können und damit schon langsam 10 GbE auslasten.
Aber ich gebe zu, es ist zumindestens ein wenig Fortschritt. Lieber das, als 10 weitere Jahre mit 1 GbE.
Mit xclip kann man von der Kommandozeile aus mit der X11-Zwischenablage interagieren. Das Tool kann seine Eingabe von stdin in die Zwischenablage speichern oder die Zwischenablage auf stdout ausgeben.
Folgendes Beispiel speichert die Ausgabe von ls in der Zwischenablage
ls | xclip -selection clipboard
Die Zwischenablage auf stdout ausgeben kann man mit
xclip -selection clipboard -o