Fenrir Screenreader: Der gute Wolf für die Shell
Als blinder Nutzer eine grafische Linux-Oberfläche zu bedienen ist trotz aller Fortschritte bei Desktop-Systemen, Accessibility-Schnittstellen und nicht zuletzt dem Orca-Screenreader noch immer mitunter recht abenteuerlich. Zwar sind mittlerweile viele grafische Linux-Programme gut nutzbar, doch allein die Performance des Screenreaders reicht selbst auf schnelleren Systemen nicht an jene eines Windows-Bildschirmlesers heran, was die Arbeit teils erheblich behindern kann. Anders sieht es da in der Shell aus; dank Lösungen wie BRLTTY und Speakup ist hier ein zügiges, rein textbasiertes Arbeiten möglich und erlaubt je nach Distribution sogar eine von Grund auf zugängliche Installation des Linux-Systems. Und nicht nur blinde Nutzer wissen daher die Konsole zu schätzen, da in ihr viele Routineaufgaben effizienter erledigt werden können als auf dem Desktop.
Ein moderner Screenreader für die Shell
Neben den bekannten Lösungen für konsolenbasiertes Auslesen des Bildschirminhaltes per Sprachausgabe und Braillezeile wurde mit Fenrir ein noch sehr junges Projekt ins Leben gerufen, um einen modernen, textbasierten Bildschirmleser zu kreieren. Und obwohl die Todo-Liste des Projekts noch sehr lang sein dürfte, kann sich das bisher erreichte durchaus sehen lassen.
Fenrir ist ein auf Python3 basierender Screenreader, der komplett im Userspace läuft und demnach kein spezielles Kernel-Modul erfordert. Bislang ist die Sprachausgaben-Unterstützung gut implementiert und kann die eSpeak generisch ansteuern oder auf den Speech-Dispatcher zugreifen, welcher wiederum die Anbindung weiterer Sprachausgaben zur Verfügung stellt. Braillezeilen werden via BRLTTY angesteuert. Dieses Feature ist jedoch noch nicht vollständig implementiert und weitere Verbesserungen sind für Version 2.0 vorgesehen. Als zusätzliche Unterstützung sind Sound-Schemata verfügbar, welche beispielsweise leere Zeilen, Hervorhebungen, Rechtschreibfehler oder das Starten und Pausieren des Bildschirmlesers kennzeichnen.
Die Tastaturbedienung orientiert sich in den Grundfunktionen stark an bekannten Lösungen: Die Bildschirmnavigation erfolgt über den Nummernblock, spezielle Funktionen werden über die Einfüge- oder Capslock-Taste ausgelöst. Das Erlernen der grundlegenden Navigationsbefehle ist also keine große Hürde. Wer dennoch Hilfe benötigt, kann über die Tastenkombination Einfügen+H einen Lernmodus starten, welcher die Funktionsbeschreibung jedes Befehls wiedergibt ohne ihn auszuführen. Alle Tastenkombinationen sind in den Dateien unter /etc/fenrir/keyboard notiert, hierbei kann zwischen Desktop- und Laptop-Layout gewählt werden. Die Funktionsvielfalt ist dabei durchaus beachtlich und lässt in manchen Punkten beinahe an den Komfort eines Desktop-Bildschirmlesers erinnern. So ist es beispielsweise möglich, auf Tastendruck eigene Shell-Scripts auszuführen, Uhrzeit und Datum vorzulesen oder die Systemlautstärke sowie Parameter der Sprachausgabe zu verändern. Sogar eine Rechtschreibprüfung mittels Aspell oder die Erkennung von Emojis ist vorgesehen.
Hakelige Installation
Wer Fenrir ausprobieren möchte, findet den Quellcode und aktuelle Releases auf GitHub. Da es noch keine spezifischen Installationspakete gibt, sollte man sich je nach Distribution auf etwas Forschungsarbeit gefasst machen, um die notwendigen Abhängigkeiten nachzuladen. Unter Debian Stretch sind beispielsweise nicht alle der Python-Abhängigkeiten über den Paketmanager erhältlich oder liegen in veralteten Versionen vor, die nicht mit Fenrir kompatibel sind. Hier kann man sich jedoch mit dem Python-Paketmanager Pip behelfen, über den sich Fenrir übrigens auch direkt installieren lässt. Ob alle Abhängigkeiten erfüllt sind, zeigt der Befehl python3 check-dependencies.py im Quellcode-Verzeichnis. Die eigentliche Fenrir-Installation geschieht dann über ein einfaches Installations-Script und besteht lediglich im Kopieren der notwendigen Dateien an ihren jeweiligen Bestimmungsort im System. Nach Abschluss des Vorgangs werden die Kommandos zum Starten des Systemdienstes angezeigt sowie ein Befehl, welcher Fenrir auch für Pulseaudio-Nutzer verfügbar macht. Vor dem ersten Start sollte man natürlich noch die Konfigurationsdateien seinen Wünschen entsprechend anpassen. Auch werden bislang keine Sprachdateien automatisch installiert, diese muss man händisch aus dem Locales-Verzeichnis im Quellcode nach /usr/share/locale/<Sprachcode>/LC_MESSAGES kopieren. Eine deutsche Sprachdatei wurde von mir erstellt und ist auf GitHub bereits im Master-Branch vorhanden.
ich persönlich bin gespannt, wie sich Fenrir noch entwickeln wird. Zwar bin ich was die Shell angeht eher von grafischen Oberflächen verwöhnt und nutze lieber einen richtigen Desktop, doch wie bereits erwähnt ist die Shell für manche Aufgaben immer noch sehr attraktiv. Wenn der Bildschirmleser seinen Teil dazu beiträgt, die Arbeit noch mehr zu vereinfachen, kann das am Ende nur gut sein.