Artikel zur Linux-Distribution Fedora. Enthält Teile des früheren fedorablog.
Pimp my Gnome, Teil 6: MGSE auf Fedora 16 installieren
Das aktuelle Fedora 16 bringt uns Gnome 3.2, aber damit auch Kummer, denn die Extensions-API wurde geändert, wodurch viele der Extensions aus dem ersten Teil nicht mehr funktionieren.
Vor ein paar Tagen stolperte ich dann über eine nette Überraschung. Die Entwickler der Distribution Linux Mint bieten in ihrer kommenden Release einen ganzen Satz selbstgebauter Extensions für Gnome 3.2 an, die Mint Gnome Shell Extensions. Und die können sich sehen lassen! Neben den bekannten Erweiterungen zum Entfernen des Barrierefreiheits-Menüs und Hinzufügen eines Menüpunkts zum Hinunterfahren des Rechners bieten weitere Extensions am unteren Bildschirmrand ein Panel mit einem schönen Startmenü, einer Fensterleiste und einem Workspace-Wechsler.
Die MGSE gibt es zwar nicht als fertiges Paket für Fedora, man kann sie aber mit wenigen Handgriffen selbst installieren. Dazu wird zunächst einmal git installiert: sudo yum install git
Folgende Kommandos laden dann den Quelltext für MGSE herunter und installieren ihn im System:
git clone https://github.com/linuxmint/MGSE.git cd MGSE ./test
Nach einem Neustart der Gnome Shell mit Alt-F2 und r können dann die einzelnen Erweiterungen von MGSE im gnome-tweak-tool unter “Shell-Erweiterungen” aktiviert werden. Je nach Geschmack kann außerdem noch über das Tweak Tool der Dateimanager auf dem Desktop aktiviert werden, wie es in Linux Mint 12 voreingestellt ist.
Zwei Stunden mit Fedora 16
Fedora 16 ist draußen, und von vielen schönen Erwartungen getrieben, führte ich sogleich ein Upgrade per USB-Stick auf meinem ThinkPad X100e aus. Das Upgrade dauerte gut eine Stunde. Dann der erste Reboot, und...
...nichts! Auf der Festplatte ist immer noch der alte Bootloader installiert, welcher natürlich den Fedora 15-Kernel nicht mehr finden kann. Dass das schief gehen würde, ahnte ich bereits beim Upgrade, denn es wurde nur angeboten, den Bootloader in den MBR des USB-Sticks oder irgendwo auf sda1 zu installieren. Keine Option bot den MBR der Festplatte an.
Naja, Rescue-Modus gestartet, Grub neu installiert, reboot, System startet endlich, braucht allerdings noch eine kleine Ewigkeit, um die neuen SELinux-Regeln im Dateisystem anzuwenden.
Plymouth und der Login-Screen sehen nun um einiges schöner aus, finde ich. Bei Gnome 3.2 fehlen allerdings sämtliche Extensions, welche ich so mühevoll installiert hatte.
Über das gnome-tweak-tool lassen sich ein Teil der Extensions aktivieren. Bei einem Neustart stürzt Gnome allerdings ab, schwafelt nur eine nichtssagende Fehlermeldung und bietet an, die installierten Extensions einzeln abzuschalten. Wenn ich alle ausschalte und Gnome neu starte, geht die Shell wenigstens wieder.
Die nächsten 30 Minuten verbringe ich damit, die Extensions wieder ans Laufen zu kriegen. Um es vorwegzunehmen: ohne Erfolg. Ein paar Extensions funktionieren, die meisten zeigen jedoch gar keine Funktion, und bei einer gewissen Kombination dieser stürzt dann Gnome wieder ab. Es war mir nicht möglich, herauszufinden, welche Extensions letztendlich für den Absturz verantwortlich sind.
Nach etwas Recherche finde ich bei fedoraforum.org einen Hinweis, wie man die Extensions wieder ans Laufen kriegt. Aber auch der hilft nicht. Die installierten Pakete waren bereits die Richtigen, die Versionen in den .json-Dateien passend.
Irgendwann verliere ich dann die Geduld, und stelle mir die Frage, ob die Gnome-Entwickler die Extensions mit Absicht sabotiert haben, weil sie ihr schönes, pures, unbenutzbares Grunddesign verschandeln? Wie auch immer... Ich lege Fedora 16 erst mal auf Eis, in der Hoffnung, dass irgendwann funktionsfähige Extension-Pakete angeboten werden.
Langsam finde ich es bedauerlich, dass Unity nicht auch für Fedora verfügbar ist...
Fedora 15: cyberJack-Kartenleser in Betrieb nehmen
Vor gut drei Jahren schrieb ich im Fedorablog einen Artikel über sicheres Online-Banking mit HBCI. Mittlerweile ist viel Wasser den Rhein heruntergeflossen, Reiner SCT stellte seinen ctapi-Treiber ein und liefert nun auch keine Fedora-RPMs mehr aus. Höchste Zeit für ein Update!
cyberJack und PC/SC
Zum Betrieb des cyberJack-Kartenlesers waren bisher die Treiber von Reiner SCT notwendig. Im Fedora-Repository gab es zwar ebenfalls passende Treiber, aber sie wurden eher halbherzig gepflegt und funktionierten eigentlich nie so richtig. Mittlerweile hat auch Reiner SCT seinen Fedora-Support eingestellt. Die einzige Möglichkeit, die man nun noch hat, ist, die Sourcen herunterzuladen und selbst zu kompilieren.
Für den, der sich die Mühe scheut, habe ich für Fedora 15 ein entsprechendes Paket zusammengestellt (RPM x86_64, SRPM). Installiert wird es mit
sudo yum localinstall http://static.shredzone.net/pcsc-cyberjack-3.99.5final.SP02-1.fc15.x86_64.rpm
Allerdings ist das Paketieren nicht meine Stärke, und das RPM sicherlich alles andere als perfekt.
Um sich den Quelltext des Treibers selbst zu kompilieren, packt man das Source-Paket als Root aus, wechselt in das ausgepackte Verzeichnis und führt folgende Befehle aus:
yum install pcsc-lite-devel ./configure --libdir=/usr/lib64 make make install
Auf einem 32-bit-System wird die --libdir-Option weggelassen.
In einem nächsten Schritt muss (zum Beispiel über system-config-users) eine Gruppe cyberjack angelegt und müssen alle Benutzer, die den Kartenleser verwenden dürfen, dieser Gruppe zugeordnet werden. Nach einem erneuten Login ist der Kartenleser dann einsatzbereit, wie der Aufruf des Kommandos cyberjack zeigen sollte. Wenn nicht, findet man in cyberjack-report.log wertvolle Hinweise zum Problem und dessen Lösung. Manchmal hilft es, den Kartenleser direkt am Computer anzuschließen und nicht an einem USB-Hub.
Hibiscus
Stellen wir uns dem nächsten Problem. Der CT-API-Standard, der früher verwendet wurde, war ein deutscher Alleingang, der sich nicht durchsetzen konnte. Mittlerweile wird ausschließlich der PC/SC-Standard verwendet, mit dem Hibiscus (und andere reine CT-API Bankingsoftware) allerdings nicht zurechtkommt.
Die gute Nachricht: Es gibt einen CT-API Wrapper, der quasi eine Brücke zwischen den beiden Standards schlägt. Die schlechte Nachricht: Es gibt keine fertigen Fedora-Pakete für diesen Wrapper. Ich biete auch hierfür ein selbstgebautes Paket (RPM x86_64, SRPM) an:
sudo yum localinstall http://static.shredzone.net/pcsc-ctapi-wrapper-0.3-1.fc15.x86_64.rpm
Alternativ kann der Quelltext einfach ausgepackt und als Root mit make && make install installiert werden.
In Hibiscus wird der Kartenleser wie üblich eingerichtet. Als CTAPI-Treiber wird dann der Wrapper angegeben. Bei meinem Paket lautet der Pfad /usr/lib64/libpcsc-ctapi-wrapper.so.0.3. Wenn man ihn selbst gebaut hat, liegt er meist unter /usr/local/lib/libpcsc-ctapi-wrapper.so.0.3.
Weiterhin sollte Tastatur des PCs verwenden deaktiviert werden, da moderne Secoder-Kartenleser dies aus Sicherheitsgründen nicht mehr gestatten. Die PIN muss stets am Gerät eingegeben werden.
Damit kann nun auch Hibiscus auf den Kartenleser zugreifen. Dem Online-Banking steht nichts mehr im Wege!
Geldkarte
Die Sparkassenorganisation bietet ein Browser-Plugin als RPM-Paket zum Download an. Die 64 bit-Version legt das Plugin leider im falschen Ordner ab. Als Anwender kann man das Firefox-Plugin wie folgt aktivieren:
cd .mozilla/plugins ln -s /usr/lib/mozilla/plugins/libSIZCHIP-Plugin-Mozilla-2004.so
Nach einem Neustart des Browsers sollte das Plugin dann unter der URL about:plugins erscheinen. Auf geldkarte.de kann nun zum Beispiel eine eingesteckte Geldkarte analysiert werden.
Ausweisapp
Die cyberJack RFID-Modelle bieten neben der HBCI- und Geldkartenfunktionalität auch die Möglichkeit, den neuen elektronischen Personalausweis zu lesen. Dazu stellt der Bund die Ausweis-App auch für Linux zur Verfügung.
Leider aber nicht für Fedora. Als einziges RPM-basiertes System wird openSUSE unterstützt. Ein Versuch, das RPM unter Fedora zu installieren, scheitert an Abhängigkeiten zu Paketen, die unter Fedora anders genannt werden, und letztendlich an einem inkompatiblen Installationsscript. Ich habe bisher keine Möglichkeit gefunden, die Ausweis-App trotzdem ans Laufen zu kriegen.
Kleines Fazit
Bei den Arbeiten zu diesem Artikel ertappte ich mich mehr als einmal, neidische Blicke zu Ubuntu geworfen zu haben. Es gibt fertige cyberJack-Treiber und offiziellen Support, wogegen bei Fedora die cyberJack-Unterstützung schon immer halbherzig war und nun wohl ganz eingestellt wurde. Auch die Ausweis-App genießt die Unterstützung seines Herausgebers. Selten wurde es mir so bewusst, dass Fedora zumindest als Desktop-Linux in Deutschland offenbar praktisch keine Rolle mehr spielt.
Eine gute Nachricht für alle Steuerzahler dürfte dagegen sein, dass es den Reiner SCT cyberJack RFID standard und komfort derzeit vergünstigt gibt – das Standard-Modell schon für unter 30 Euro. Der Staat fördert diese Modelle mit 25 Euro, also eine gute Gelegenheit, sich etwas von seinen Steuern zurückzuholen. 
Fedora 15: Audio über das Netzwerk
Was hatte ich mich geärgert, als Fedora auf PulseAudio umstieg und dann monatelang eigentlich nichts mehr so richtig lief. Zum Glück sind die Probleme ausgestanden, und jetzt ist es an der Zeit, auch einmal einen Vorteil von PulseAudio zu genießen: dessen Netzwerkfähigkeit. Ich habe Fedora auf einem kleinen HTPC installiert, der an der Stereoanlage angeschlossen ist. Diesen möchte ich verwenden, um vom PC aus Musik auch mal auf den großen Lautsprechern zu hören statt auf den PC-Brüllwürfeln.
Mit PulseAudio geht das verblüffend einfach, wie dieser Artikel zeigt.
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.
