Der CLI-Browser Browsh zeigt Webseiten mit Textzeichen an und erlaubt so das layoutgetreue Surfen auf der Kommandozeile.
Nicht immer steht eine grafische Benutzeroberfläche bereit, etwa bei der Arbeit via Secure Shell (SSH) auf einem entfernten Server. Darüber hinaus gibt es in Deutschland immer noch Gebiete, in denen die Daten aus dem Internet lediglich ins Endgerät tröpfeln.
Ganz grundsätzlich gibt es gerade unter Linux viele Anwender, die die Kommandozeile gegenüber der grafischen Oberfläche bevorzugen. Wollen Sie als eingefleischter Shell-Fan etwas im Internet nachschlagen, helfen Webbrowser wie der Klassiker Lynx, die ausschließlich den reinen Text einer Seite präsentieren. Das spart zwar zusätzlich Bandbreite, aber das Layout und vor allem die Bilder gehen verloren.
An dieser Stelle kommt der moderne Text-Browser ins Spiel: Er setzt eine Webseite komplett aus Textzeichen zusammen [1], wobei das Layout weitgehend erhalten bleibt. Die Software versucht sogar, Grafiken und Animationen anzuzeigen. Die bestehen allerdings aus einzelnen bunten Blöcken (Abbildung 1). In vielen Fällen erlaubt aber das zumindest einen Rückschluss auf das Aussehen der Grafik.

Abbildung 1: Browsh verwandelt eine Webseite wie die von LinuxUser in einen Mix aus heruntergerechneten Grafiken und Text. Das Ergebnis fällt nicht immer optimal aus.
Die Software unterstützt alle modernen Web-Techniken, darunter explizit HTML5, CSS3, Javascript und sogar WebGL. Entwickler Thomas Buckley-Houston sieht den hauptsächlichen Einsatzbereich des Programms bei der Arbeit auf einem entfernten Server: Greifen Sie via SSH oder Mosh darauf zu, surfen Sie mit dem dort installierten Browsh im Web.
Da Browsh nur Texte überträgt, reduziert sich so insgesamt die zu übertragende Datenmenge, während sich gleichzeitig die Geschwindigkeit beim Transfer erhöht.
Testfahrt
Möchten Sie Browsh erst einmal nur ausprobieren, hängen Sie an die URL https://html.brow.sh/ einfach eine weitere an (Listing 1) und rufen das Gesamtkonstrukt in einem normalen Webbrowser auf.
Listing 1
https://html.brow.sh/http://www.linux-user.de/
Nach ein paar Sekunden sehen Sie die entsprechende Website so, wie Browsh sie anzeigen würde (Abbildung 2). Komplementär zu html.brow.sh gibt es noch die Domain text.brow.sh. Sie liefert eine Anzeige, die ausschließlich den Text der entsprechenden Seite enthält.

Abbildung 2: Mit dem Dienst auf Html.brow.sh testen Sie das Ergebnis von Browsh – in diesem Fall die Homepage von LinuxUser. Das Banner mit der Cookie-Meldung platziert der Browser dabei jedoch nicht korrekt.
Alternativ verbinden Sie sich mit dem Server brow.sh. Das Anmelden ist nicht erforderlich. Nach ein paar Sekunden startet dann Browsh, den Sie jetzt beliebig testen dürfen.
Der Dienst läuft allerdings nur fünf Minuten, und er zeichnet alle von Ihnen gemachten Aktionen auf. Er dient also nur dazu, die Software unverbindlich zu testen. Außerdem laufen einige Javascript-Skripte nicht korrekt, und der Rechner unterbindet das Anmelden bei Diensten im Netz.
Feuerfuchs
Um die Webseiten anzuzeigen, greift Browsh zu einem kleinen Trick: Sobald Sie eine Webseite aufrufen, startet Browsh im Hintergrund Firefox ohne Benutzeroberfläche im sogenannten Headless-Modus. Es installiert dann eine eigene Erweiterung, die Firefox anweist, die Webseite abzurufen und zusammenzusetzen.
Browsh injiziert dabei noch ein paar eigene Skripte und CSS in die Seite. Letzteres soll insbesondere sicherstellen, dass sich die Seite am Raster der Terminals ausrichtet. Zum Schluss konvertiert die Software das Ergebnis so, dass sie es als reinen Text anzeigen kann.
Demgemäß benötigt Browsh als Grundlage Firefox ab Version 57 sowie ein Terminal, das eine True-Colour-Farbanzeige (24 Bit) anbietet. Im Zweifelsfall lässt sich der Browser aber auch in einen Schwarz-Weiß-Modus schalten.
Erfüllt Ihr System diese Voraussetzungen, wechseln Sie auf die Download-Seite von Browsh und laden das zur verwendeten Distribution passende Paket herunter. Im Zweifelsfall greifen Sie zu Linux Static. Für 64-Bit-Systeme klicken Sie x64 an, bei einem 32-Bit-System wählen Sie hingegen 386.
Nach dem Herunterladen benennen Sie die Datei in browsh um, und vergeben Sie die passenden Rechte zum Ausführen, etwa via chmod +x browsh. Danach rufen Sie den Text-Browser im Terminal einfach mit browsh auf.
Arbeiten Sie mit Docker, dann bietet es sich an, die Software in einem Container zu starten, in dem dazu eine aktuelle Version von Firefox laufen muss (Listing 2).
Listing 2
$ docker pull browsh/browsh $ docker run -it --rm browsh/browsh
Tippse
Der erste Start von Browsh dauert einen Moment. Warten Sie, bis der Browser seine eigene Website geöffnet hat, und drücken Sie dann [Strg]+[L]. Nun tippen Sie die Adresse der Webseite ein, die Sie besuchen möchten, und bestätigen mit [Eingabe]. Alternativ übergeben Sie die URL der Webseite direkt beim Aufruf auf der Kommandozeile (Listing 3). Mit dem Parameter --time-limit weisen Sie die Software an, sich nach der angegebenen Anzahl Sekunden automatisch zu beenden.
Listing 3
$ browsh --startup-url https://linux-user.de
Das Bedienen des Browsers erfolgt wie in Firefox, Chrome und Konsorten: Sie dürfen direkt mit der Maus die passenden Menüpunkte und Links anklicken sowie mit den Pfeil- und Bildlauftasten durch die Seite navigieren. Ziehen Sie das Terminalfenster größer oder kleiner, passt Browsh automatisch die Anzeige der Seite an. Darüber hinaus aktualisiert sich die Anzeige in Echtzeit. So erkennen Sie Videos und animierte GIFs.
Browsh erkennt die von herkömmlichen Webbrowsern bekannten Tastenkürzel (siehe Tabelle “Schnell gesteuert”). Mit [Alt]+[M] wechseln Sie zur Monochrom-Darstellung, in der zudem alle Grafiken fehlen (Abbildung 3). Die Software nutzt in diesem Fall nur noch die Farben für den Vorder- und Hintergrund des Terminals, was auch mit Varianten funktioniert, die nur zwei Farben anzeigen.
|
Taste |
Funktion |
|---|---|
|
[F1] |
Dokumentation |
|
Pfeiltasten, [Bild-auf]+ und [Bild-ab] |
in der Seite navigieren |
|
[Strg]+[Q] |
Browsh beenden |
|
[Strg]+[L] |
Adressleiste aktivieren (zur Eingabe der URL) |
|
[Strg]+[R] |
Seite neu laden / aktualisieren |
|
[Strg]+[T] |
neuen Reiter öffnen |
|
[Strg]+[W] |
aktuellen Reiter schließen |
|
[Strg]+[AltGr]+[ß] |
zum nächsten Reiter wechseln |
|
[Rückschritt] |
in der History zurückgehen |
|
[Alt]+[M] |
auf monochrome Anzeige umschalten |
|
[Alt]+[U] |
User-Agent-Kennung wechseln |
|
[Alt]+[Umschalt]+[P] |
Screenshot erstellen |
![Abbildung 3: Nach einem Druck auf <span class="key-combo">[Strg]+[M]</span> schaltet Browsh in eine monochrome Ansicht, hier am Beispiel der Webseite von LinuxUser zu sehen.](/wp-content/uploads/2019/04/b03-browsh-linuxuser-invertiert-300x250.jpg)
Abbildung 3: Nach einem Druck auf [Strg]+[M] schaltet Browsh in eine monochrome Ansicht, hier am Beispiel der Webseite von LinuxUser zu sehen.
Sie zwingen das Programm direkt beim Start in den Monochrom-Modus, indem Sie es mit browsh --monochrome aufrufen. Via [Alt]+[U] gibt sich der Browser nicht mehr als Desktop-Version aus, sondern stattdessen als Smartphone-Variante. Auf diese Weise fordern Sie die für mobile Geräte optimierte Seite an, die sich für die Anzeige als Text möglicherweise besser eignet.
Zeichensalat
Für die Ausgabe verwendet Browsh UTF-8-Zeichen. Bei Problemen sollten Sie prüfen, ob Ihr Terminal mit dieser Zeichenkodierung zurechtkommt. Dabei muss die vom Terminal verwendete Schriftart alle UTF-8-Zeichen anbieten. Das gilt insbesondere für den sogenannten Half Block, ein Zeichen mit einem Kasten, aus dem Browsh Bilder zusammensetzt. Einige Schriftarten zeichnen diesen kleinen Kasten etwas kleiner. Dadurch erscheint die Ausgabe wie mit feinen Linien durchzogen.
Des Weiteren sollte das Terminal eine dicktengleiche (nichtproportionale) Schriftart verwenden, da anderenfalls das Layout einer Webseite verrutscht. Thomas Buckley-Houston empfiehlt dazu eine Reihe von Schriften [2], die Sie aber nicht zwingend verwenden müssen. Zu guter Letzt muss das Terminal selbst die Zeichen korrekt und ganz exakt ausrichtet, sonst entstehen wirre Layouts (Abbildung 4).
Browser im Browser
Beim ersten Start erstellt Browsh die Konfigurationsdatei ~/.config/browsh/config.toml. Darin können Sie gegebenenfalls mit einem Texteditor Einstellungen anpassen. So steht hinter startup-url = die URL, die das Programm standardmäßig aufruft.
Tippen Sie in die Adressleiste nur einen Begriff ein, dann hängt Browsh ihn an die Adresse an, die hinter default_search_engine_base = eingetragen ist. Anschließend ruft der Browser die gesamte URL auf. In der Vorgabe aktiviert das die Google-Suche.
Schalten Sie mit [Alt]+[U] auf die Ansicht für mobile Geräte um, gibt sich Browsh gegenüber den Websites als Firefox aus, der unter Android 7.0 läuft. Sie dürfen die Identität über mobile_user_agent = anpassen. Alle übrigen Einstellungen sollten Sie auf den vorgegebenen Werten belassen.
Browsh bietet via browsh --http-server-mode einen Modus an, in dem die Software selbst als Server arbeitet. Wenn Sie anschließend mit einem beliebigen anderen Webbrowser die URL localhost:4333 ansteuern, steht Browsh dort als Dienst bereit.
Bei Bedarf ersetzen Sie localhost durch die IP-Adresse oder den Namen des Rechners, auf dem das Browsh im Server-Modus läuft. Den verwendeten Port 4333 ändern Sie gegebenenfalls über die Variable port = in der Konfigurationsdatei.
Um eine Seite aufzurufen, hängen Sie wie beim Dienst http.brow.sh die URL der anzuzeigenden Seite an. Mit der Zeile aus Listing 4 rufen Sie folglich die Homepage von LinuxUser auf.
Listing 4
localhost:4333/https://linux-user.de
Im Server-Modus bietet Browsh allerdings nicht alle Funktionen der Variante für die Kommandozeile. So aktualisiert die Software die Anzeige nicht in Echtzeit, und Sie dürfen sich nicht auf Webseiten anmelden.
Blockig
Da im Hintergrund Firefox die Hauptarbeit erledigt, stehen in Browsh auch dessen Erweiterungen bereit, allen voran die Werbeblocker. Dazu starten Sie Browsh via browsh --firefox.with-gui. Es öffnet sich dann Firefox, in dem Sie wie gewohnt passende Addons nachinstallieren, indem Sie das Hamburger-Menü rechts öffnen und dann zu Add-ons wechseln.
Die so aktivierten Erweiterungen nutzt Browsh automatisch. Gehen Sie dabei immer den Weg über den Kommandozeilenparameter: Browsh verwendet ein eigenes Firefox-Profil, bereits installierte Addons aus anderen Profilen ignoriert der CLI-Browser.
Fazit
Browsh hilft immer dann weiter, wenn keine grafische Oberfläche bereitsteht oder Sie die übertragene Datenmenge reduzieren möchten. Letzteres klappt allerdings nur, wenn Sie einen eigenen Server betreiben. Darüber hinaus lassen sich die von Browsh angezeigten Webseiten nicht immer gut lesen. Im Vergleich zum klassischen Konkurrenten Lynx bleibt das Layout jedoch deutlich besser erhalten.
Infos
-
Browsh: https://www.brow.sh
-
Empfohlene Fonts: https://github.com/ProgrammingFonts/ProgrammingFonts






