
Noch Eine Raspberry KurzAnleitung Linu – Linux ohne X mit dem Raspberry Pi Alfred H. Gitter∗ Version vom 28. Oktober 2020 Das vorliegende Manuskript ist eine langsame Baustelle und soll erst nach Vollendung der Sagrada Família fertig werden. Informationen und Ratschläge werden ohne Gewähr gegeben ! KonstruktiveA.H. Kritik und auch Aufmunterung Gitter bitte per E-Mail. ∗E-Mail: [email protected] Inhaltsverzeichnis 1 Grundlagen 6 1.1 Vorbemerkungen . 6 1.1.1 Rechenleistung . 6 1.1.2 Betriebssystem (OS) . 6 1.1.3 Terminals . 6 1.2 Hardware . 8 1.2.1 Raspberry Pi . 8 1.2.2 Datenaustausch durch GPIO . 12 1.2.3 Externe Elektronik . 14 2 Installation und Konfiguration 24 2.1 Betriebssystem auf eine Speicherkarte übertragen . 24 2.2 Grundkonfiguration . 25 2.2.1 Konfiguration mit raspi-config, Neustart und Beenden . 25 2.2.2 Umgebungsvariablen und Kurzbefehle setzen mit .bashrc . 29 2.2.3 WLAN Konfiguration, Fernsteuerung über SSH . 30 2.2.4 Größere Schrift, Unterverzeichnisse einrichten . 34 2.2.5 Konfigurations- und Informationsdateien . 35 2.3 Audio . 36 2.3.1 Ausgabe über HDMI oder Analogausgang . 36 2.3.2 Eingabe durch USB-Mikrophon . 37 2.3.3 Ein- und Ausgabe über USB-Soundkarte . 38 2.4 Autostart . 40 2.4.1 rc.local (veraltet) . 40 2.4.2 Dienstanmeldung in systemd . 40 2.4.3 Autostart mit .bashrc . 41 3 Administration des Systems 42 3.1 Paketverwaltung . 42 3.1.1 Aktualisierung . 43 3.1.2A.H. Paketinstallation, -löschung und Gitter -information . 43 3.1.3 Wichtige Pakete . 44 3.2 Der Linux-Framebuffer . 44 3.2.1 Steuerung des Framebuffers mit fbset . 45 3.2.2 Direkte Ausgabe an den Framebuffer . 45 2 3.2.3 Graphisches Terminal fbterm . 46 3.3 Externe Datenträger . 48 3.3.1 Manuelles Mounten eines USB-Sticks . 48 4 Die Shell 50 4.1 Befehle für System und Shell . 50 4.1.1 Arbeit mit der Bash . 50 4.1.2 Dateien und Prozesse . 52 4.1.3 Textausgabe . 54 4.1.4 Datum und Zeit . 56 4.1.5 Information vom Betriebssystem . 57 4.1.6 Ansteuerung der GPIO . 60 4.2 Editoren . 62 4.2.1 nano .................................. 62 4.2.2 vi und vim .............................. 64 4.2.3 emacs ................................. 66 4.2.4 Tastatureingabe von akzentuierten Sonderzeichen . 66 4.3 Shellscripts . 67 4.3.1 Verzeichnis für Shellscripts . 67 4.3.2 Erzeugung von Shellscripts . 67 4.3.3 Kontrollstrukturen und Funktionen . 68 4.3.4 Nützliche Shellscripts . 76 5 Games 80 5.1 ASCII-Art . 80 5.1.1 Bewegte Bilder . 80 5.1.2 Schöne Worte . 81 5.2 Telnet-Dienste . 82 5.2.1 Landkarten mit mapscii . 82 5.2.2 Ein Zeichen-Trickfilm . 83 5.2.3 Telehack . 83 5.3 Klassische Konsolenspiele . 84 5.3.1 Adventures . 84 5.3.2 Denkspiele . 84 5.3.3 Geschicklichkeitsspiele . 86 6 Multimedia und Internet 88 6.1 Bilder, PDF, Audio und Video . 88 6.1.1 Bildanzeige mit fbi oder fim . 88 6.1.2 Bildaufnahme mit einer Kamera . 89 6.1.3A.H. PDF . Gitter. 91 6.1.4 Bildbearbeitung mit ImageMagick . 91 6.1.5 Audio . 93 6.1.6 Video . 97 3 6.2 Internet . 101 6.2.1 Internet-Geschwindigkeitsmessung mit speedtest-cli . 102 6.2.2 Browser, Google-Suche und Gopher . 102 6.2.3 Wikipedia, Nachrichten und Wetter . 107 6.2.4 HTML in PDF wandeln und dann anzeigen . 109 6.2.5 E-Mails mit ssmtp verschicken . 110 7 Dienst- und Büroprogramme 111 7.1 Dienstprogramme . 111 7.1.1 Dateimanager (tree, mc, nnn) . 111 7.1.2 Kommandozeilentaschenrechner mit bc . 113 7.1.3 Bildschirmphoto mit fbgrab . 115 7.1.4 QR-Code, Uhr . 115 7.1.5 Sprachausgabe und Spracherkennung . 116 7.1.6 Übersetzer . 117 7.1.7 Geteilter Bildschirm mit tmux . 118 7.2 Büroprogramme . 119 7.2.1 Adressbuch (abook) und Terminplanung (calcurse) . 119 7.2.2 Minimalistische Textverarbeitung mit wordgrinder . 120 7.2.3 Tabellenkalkulation für Einzelgänger mit sc . 122 7.2.4 Minimalistische Textpräsentation mit TPP . 123 7.2.5 Sehr gutes Plotprogramm: Gnuplot . 124 8 Python 127 8.1 Kurze Einführung . 127 8.1.1 Schreibweisen, Schlüsselwörter, Blöcke, Instanz, Referenz . 128 8.1.2 Datenstrukturen . 130 8.1.3 Kontrollstrukturen . 134 8.1.4 Operatoren und Funktionen, Mathematik . 137 8.1.5 Zeichenketten und Reguläre Ausdrücke . 142 8.2 Python-Module . 148 8.2.1 Datum und Zeit, Kalender . 148 8.2.2 Daten, Zahlen und Statistik, Plots . 150 8.2.3 Audio, Video und Bilder . 166 8.2.4 Internet . 169 8.2.5 Feedreader im Pythonprogramm: feedparser . 169 8.2.6 Ansteuerung der GPIO . 170 8.3 Nützliche Beispiel-Programme . 177 8.3.1 Systeminformation, Ein- und Ausgaben . 177 8.3.2A.H. Dateien . Gitter. 178 8.3.3 Internet . 179 9 Anhang 181 9.1 LATEX-Code für Zeichnungen . 181 4 9.2 Internet-Adressen . 186 A.H. Gitter 5 1 Grundlagen 1.1 Vorbemerkungen 1.1.1 Rechenleistung Wir benutzen einen Raspberry Pi. Aber welches Modell? Egal. Die im Folgenden vor- gestellten Programme liefen ohne Probleme auf einem Raspberry Pi 1 B mit einem Ar- beitsspeicher von 512 MiB (für CPU und GPU), einschließlich der Spracherkennung (na- türlich mit externer Hilfe, siehe Seite 117). Allerdings spricht gar nichts gegen einen Raspberry Pi 4-Boliden, insbesondere wenn man mit dem Textsatzsystem LaTeX ein Manuskript schreiben will. 1.1.2 Betriebssystem (OS) Wir verwenden als Betriebssystem Raspberry Pi OS der Raspberry Pi Foundation in der Version Lite. Raspberry Pi OS wurde früher (bis Mai 2020) Raspbian genannt. Die Abkürzung OS steht im Englischen für operating system (Betriebssystem.)1 Lite ist die Version ohne das X-System und enthält scheinbar keine graphische Benutzeroberfläche (GUI = graphical user interface) und keinen „Desktop“. Sichtbar ist nur ein „Terminal“, auf dem man in Textform über Tastatur und Monitor (in der Regel ohne Maus) mit dem Rechner arbeitet. Trotzdem ist es möglich, Bilder oder Videos zu zeigen. Und auch ohne Fenster ist die Lage nicht aussichtslos (pun intended). Ist es aber sinnvoll, fensterfrei ohne Desktop und Maus zu arbeiten? Wer das fragt, sollte hier aufhören! Die vorliegenden Aufzeichnungen sind für Dilettanten, die das Abenteuer suchen. Sind wir damit schon Hacker? Nein. Hacker benutzen Arch Linux. 1.1.3 Terminals Ein Computerterminal, kurz Terminal, war ursprünglich ein eigenständiges Gerät zur Ein- und Ausgabe von Daten in einem Computersystem. Der Name stammt vom la- teinischen terminus, Grenzstein, da Terminals die Schnittstellen zu den Benutzern des ComputersystemsA.H. bildeten. Daher kommt auch Gitterdie deutsche Bezeichnung als Datenend- gerät. In modernen Computern benutzt man stattdessen in der Regel eine Tastatur (Gerät zur Dateneingabe) und einen Bildschirm (Gerät zur Datenausgabe). 1Es gibt allerdings auch englischsprachige Informatiker, die ihr Betriebssystem als BS bezeichnen. 6 Die Funktion eines Terminals wird heute mit einem Programm namens Terminalemu- lator bereitgestellt. Meistens dient der Terminalemulator nur zur Ein- und Ausgabe von Text. Es ist üblich, und wir werden das auch so machen, den Textterminalemulator kurz Terminal zu nennen. Auch ein Terminalprozess (laufendes Terminalprogramm) wird kurz als Terminal bezeichnet. Die Bedeutung von Terminal hängt also vom Kontext ab. In Linux-Systemen gibt es verschiedene Terminals. Ohne und mit graphischer Ober- fläche stellt der Linux-Kernel sogenannte virtuelle Konsolen zur Verfügung. In unserem Linux-Betriebssystem, Raspberry Pi OS, gibt es sechs virtuelle Konsolen. Ihre Anzahl kann verändert werden. Die virtuellen Konsolen heißen tty1, tty2, tty3, tty4, tty5 und tty6. Sie werden virtuell genannt, weil man mit nur einer Tastatur und nur einem Bildschirm alle virtuellen Konsolen verwenden kann. Es sind also nicht sechs Konsolen physisch vorhanden. Die Bezeichnung „tty“ ist eine Abkürzung von englisch teletype- writer oder teletype, auf deutsch Fernschreiber. Fernschreibgeräte dienten als Terminal, bevor es Bildschirme gab. Seit Dezember 2006 findet man sie nicht mal mehr bei der Bundeswehr, allerdings noch in anderen Museen. In Linux-Betriebssystemen mit graphischer Oberfläche (Desktop) läuft im Hintergrund das X Window System (X). Es wird vom Betriebssystem in einer virtuellen Konsole gestartet, was aber der Benutzer in der Regel nicht bemerkt. Man kann aber auch in eine andere virtuelle Konsole wechseln, die ohne X arbeitet. Wie das geht, hängt von der Betriebssystemvariante ab. Für Linux-Betriebssystemen mit graphischer Oberfläche gibt es, zusätzlich zu virtuel- len Konsolen, weitere Terminalprogramme, zum Beispiel GNOME Terminal, LXTerminal und XTerm. Deren Grundfunktionen sind gleich, aber sie unterscheiden sich in Zusatz- funktionen und Erscheinungsbild. Verzichtet man auf besondere Zusatzfunktionen, ist XTerm eine gute Wahl, weil er auf allen Linux-Systemen mit graphischer Oberfläche ver- fügbar ist und man so stets ein vertrautes Erscheinungsbild erhält und das Verhalten des Terminals kennt. Wer ein Linux-System mit X.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages191 Page
-
File Size-