Artikel zur Linux-Distribution Fedora. Enthält Teile des früheren fedorablog.
Arduino auf Fedora 15 einrichten
Die Arduino-Plattform ist eine offene Entwicklungsplattform für kleine Hardwareprojekte, inklusive einer Entwicklungsumgebung und verschiedener günstiger Boards wie dem Arduino Uno. Wegen verschiedener Bugs ist die Installation der Entwicklungsumgebung auf einem System mit Fedora 15 leider nicht ganz trivial.
Die notwendigen Pakete befinden sich im Fedora-Repository. Zuerst installieren wir also die Arduino-IDE und stellen die Gruppenrechte her, die zum Zugriff auf die USB-Schnittstelle benötigt werden:
sudo yum install 'arduino*' sudo usermod -a -G uucp,dialout,lock $USER
Neben der IDE werden der C-Compiler avr-gcc in Version 4.6.1-2 und die avr-libc in Version 1.7.0 installiert. Diese Version des Compilers wirft allerdings nur Fehlermeldungen. Ein Update steht schon bereit, liegt derzeit aber noch in fedora-testing und muss deshalb explizit installiert werden:
sudo yum --enablerepo=updates-testing update 'avr-*'
Danach ist der avr-gcc in Version 4.6.1-3 und die avr-libc in Version 1.7.1 installiert. Die IDE kann nun gestartet und die Sketches können kompiliert werden.
Allerdings bleibt noch ein Problem: durch eine zu aggressive Compiler-Optimierung funktioniert die delay()-Funktion unter Umständen nicht. So leuchtet bei dem Beispiel Blink die Test-LED dauerhaft, statt zu blinken. Die Ursache dafür lässt sich zum Beispiel durch einen Eingriff in eine Datei beheben. Folgender Patch führt diese Änderung aus:
sudo patch -d /usr/share/arduino/hardware/arduino/cores/arduino wiring.c << __END__
25a26
> #include <avr/delay.h>
106c107
< {
---
> {/*
114a116
> */ _delay_ms(ms);
__END__
Danach steht der Experimentierfreude nichts mehr im Wege!
Abschalten!
Schon Peter Lustig verkündete diese Aufforderung am Ende jeder Löwenzahn-Sendung. Aber was tun, wenn der Computer nicht will?
Einige Systeme mit Fedora 15 sind von dem Bug im Kernel betroffen. Der Rechner fährt dann zwar normal herunter und geht aus, schaltet sich nach wenigen Sekunden aber wieder ein und fährt erneut hoch. Zuverlässig abschalten lässt er sich nicht, was besonders bei Computern lästig ist, auf die man nur schlechten oder gar keinen Zugriff hat. Bei mir sind von vier Fedora 15-Systemen zwei von diesem Bug betroffen, die Quote scheint also recht hoch zu sein.
Bis der Bug beseitigt ist, kann man sich behelfen, indem man mit Root-Rechten an die Datei /etc/rc.local folgende Zeile an das Ende anfügt:
echo " LID" > /proc/acpi/wakeup
(Das Leerzeichen vor LID ist beabsichtigt!)
Nach dem nächsten Neustart lässt sich der Rechner dann wieder zuverlässig herunterfahren. Und sobald der Kernel-Bug beseitigt ist, kann die Zeile auch wieder aus der /etc/rc.local entfernt werden.
Pimp my Gnome, Teil 5: Schneller zum Ziel
Gnome 3 lässt sich um einiges schneller und komfortabler bedienen, wenn man die richtigen Abkürzungen kennt.
Eine ausführliche Liste hat das Gnome-Team in seinem Gnome Shell Cheat Sheet zusammengestellt. In diesem Artikel gibt es eine Auswahl der wichtigsten Kürzel.
Pimp my Gnome, Teil 4: Zwei Bildschirme und Wetter-Update
Ich hatte nun die Gelegenheit, Gnome 3 an einem System mit zwei Bildschirmen zu verwenden. Grundsätzlich funktioniert es, aber das Verhalten war dennoch überraschend. Wenn man nach dem Thema im Internet sucht, findet man außerdem Hinweise darauf, dass bei zwei Bildschirmen mit unterschiedlichen Auflösungen oder bei mehr als zwei Bildschirmen die Bedienung problematisch sein kann.
Seit den letzten Artikeln hat sich außerdem bei den Extensions etwas getan.
Pimp my Gnome, Teil 3: Bugs und Workarounds
Gnome 3 ist noch recht jung und hat hier und da noch ein paar Ecken und Kanten, die hoffentlich bald geradegeschliffen sind. Bis dahin müssen wir uns mit so genannten Workarounds behelfen.
Der Übergang zwischen Bug und Feature ist bekanntermaßen fließend, so dass manches von dem Folgenden vielleicht besser in den Teil 2 gepasst hätte. Wie auch immer, packen wir’s an...
Pimp my Gnome, Teil 2: Geschmacksfragen
Das Design von Gnome 3 ist wohldurchdacht. Einstellmöglichkeiten sind kaum vorgesehen, man möchte den Anwender nicht durch zu viele Einstellschrauben verwirren. So attraktiv ein einheitlicher “Desktop von der Stange” auf unerfahrene Anwender wirken mag, so abschreckender wirkt er auf Anwender, die entsprechendes Wissen haben und sich ihre Arbeitsoberfläche maßschneidern möchten.
Mit ein paar Kniffen kann man aber trotzdem Anpassungen vornehmen. Dieser Artikel beschreibt ein paar davon.
Pimp my Gnome, Teil 1: Extensions
Man kann es nicht schönreden: Ein standardmäßig installiertes Gnome 3 hat in etwa den Coolness-Faktor einer Waschmaschine und den Bedienkomfort eines Plattenspielers. Nachdem sich der erste Schock gelegt hat, wird es nun Zeit zu schauen, wie sich zumindest die gröbsten Unzulänglichkeiten beseitigen lassen. Dieser Mehrteiler mit offenem Ende nennt sich “Pimp my Gnome” und wird die Tricks dokumentieren, die ich auf dem Weg zu meinem erhofften Gnome 3-Glück finden werde.
Den Anfang machen die Gnome Extensions. Und die sind tatsächlich ziemlich cool.
Ein persönlicher Blick auf Gnome 3
“Mache die Dinge so einfach wie möglich, aber nicht einfacher.” - Albert Einstein
Mit Fedora 15 “Lovelock” geht ein Generationenwechsel des Gnome-Desktop einher. Das neue Gnome 3 wurde komplett überarbeitet, von Ballast befreit und in seiner Bedienung vereinfacht. Ich habe am Wochenende einen Praxistest gemacht. Dieser Text beschreibt meine persönliche Meinung zu Gnome 3 nach diesem Wochenende.
Fedora 15 vorerst ohne RPM fusion [Update]
Seit Dienstag ist Fedora 15 verfügbar. Eine Wolke trübt jedoch die Freude über “Lovelock”: RPM fusion hat den Sprung auf die neue Release bisher noch nicht geschafft.
Auf der Homepage wird Fedora 15 noch gar nicht erwähnt. Der Versuch, der Installationsanleitung zu folgen, endet mit der Fehlermeldung, dass zwei Zertifikatdateien nicht gefunden werden konnten. Und auch im Downloadbereich ist noch kein Verzeichnis für Fedora 15 vorgesehen.
Um das Problem erst einmal zu umgehen, kann man stattdessen die RPM fusion-Konfiguration für Rawhide durchführen. Alternativ stellt ein Blogeintrag von Xenode Systems die benötigten Zertifikatdateien zur Verfügung. Wie Xenode_Blogger an diese Dateien kam, konnte ich nicht herausfinden, daher ist ein wenig Vorsicht bei dieser Lösung vielleicht angebracht.
Besitzer von Nvidia-Grafikkarten können anschließend mit yum install akmod_nvidia ein Paket installieren, das den Nivida-Treiber für den aktuellen Kernel automatisch generiert. So umgeht man das Problem, dass in RPM fusion momentan kein Nvidia-Treiber für den Kernel von Fedora 15 verfügbar ist.
Doch was ist los bei RPM fusion? Anfragen in den Mailinglisten bleiben unbeantwortet. In Fedora-eigenen Mailinglisten wird nur auf RPM fusion weiterverwiesen, auch dort scheint man nichts Genaueres zu wissen, aber auch wenig Interesse zu zeigen.
Ich persönlich betrachte das Problem mit großer Sorge. RPM fusion ist wohl das wichtigste 3rd-Party-Repository für Fedora. Es stellt propriertäre Treiber, mp3-Codecs, VirtualBox und vieles mehr zur Verfügung, was Fedora selbst aus Lizenzgründen nicht bereitstellen kann. Sollte es für diese Verzögerung keine technischen, sondern personelle Gründe geben, sollten die Fedora-Entwickler schon aus Eigeninteresse für rasche Hilfe sorgen. Denn bricht RPM fusion weg, ist abzusehen, dass ein Großteil der Fedora-Anwender zu Ubuntu abwandern wird.
Update: Mittlerweile steht das Repository zur Verfügung. Wer die Rawhide-Pakete für RPM fusion installiert hatte, braucht nichts weiter zu tun als sein System zu updaten. Eine Antwort von den Entwicklern, was der Grund für die Verzögerung war, steht noch aus.
Android-Debugging unter Fedora
Eine schöne Sache an der Android-Plattform ist, dass man auch unter Linux Apps entwickeln kann. Java und die Entwicklungsumgebung Eclipse steht als fertiges Paket zur Verfügung, und bei Google können die Entwicklertools kostenlos heruntergeladen werden.
Das Testen erfolgt entweder über einen Emulator, oder man geht gleich ans Eingemachte und testet seine Anwendung auf echter Hardware. Bevor das möglich ist, muss Fedora das Smartphone bekannt gemacht werden. Dazu wird mit Root-Rechten die Datei /etc/udev/rules.d/51-android.rules angelegt und mit folgendem Inhalt versehen:
SUBSYSTEM=="usb",SYSFS{idVendor}=="0bb4",SYMLINK+="android_adb",MODE="0666"
Unter idVendor wird die jeweilige Hersteller-ID des Smartphone-Herstellers eingetragen. Eine Tabelle der Vendor IDs gibt es ebenfalls bei Google. Wenn mehrere Smartphones verschiedener Hersteller zum Einsatz kommen, können entsprechend weitere Zeilen ergänzt werden.
Als nächstes muss auf dem Android-Phone das USB-Debugging aktiviert werden. Den Menüpunkt findet man unter Einstellungen → Anwendungen → Entwicklung → USB-Debugging aktivieren.
Wenn man nun seinen Androiden per USB anstöpselt und in dem Android-SDK das Kommando
platform-tools/adb devices
aufruft, sollte das Smartphone aufgelistet werden. Es steht dann als Zielplattform für die Entwicklung zur Verfügung.
