← Zur Startseite

27. Januar 2022

Meine Raspberry Pi OS Einrichtung

Wie ich beim Raspberry Pi-Computer das System für mich einrichte

In diesem Beitrag möchte ich festhalten, wie ich das beim Raspberry Pi-Computer gängige Betriebssystem Raspberry Pi OS nach meinen Bedürfnissen für den Einsatz als Desktop-Computer einrichte.

Konkret beziehe ich mich auf das Raspberry Pi OS, welches bereits mit einem grafischen Desktop vorinstalliert kommt und auf dem System Debian 11 "Bullseye" basiert, sprich die Version vom 30. Oktober 2021.

Auf die Installation, bzw. das Schreiben von Raspberry Pi OS auf eine microSD-Karte, gehe ich in diesem Beitrag nicht ein. Bei der offiziellen Raspberry Pi-Webseite wird hier erklärt, wie dies funktioniert: https://www.raspberrypi.com/software/

Falls man selbst auch einen Raspberry Pi-Computer mit dem gleichen Betriebssystem verwendet, kann die eine oder andere Information in diesem Beitrag eventuell nützlich sein.

1. Automatischer Einrichtungsassistent

Startet man den Raspberry Pi-Computer mit dem frischen Raspberry Pi OS zum ersten Mal, erscheint nach einigen Sekunden automatisch ein Einrichtungsassistent, bei dem im Wesentlichen die folgenden wichtigen Schritte abgehandelt werden:

  • Spracheinstellungen festlegen
    (wichtig für Systemsprache und Tastaturlayout)
  • Benutzerpasswort ändern
  • Netzwerkverbindung herstellen
    (wahlweise per Netzwerkkabel oder WLAN, sofern verfügbar)
  • Software auf den neuesten Stand bringen

Alle diese Schritte sollten unbedingt durchgeführt werden, bevor man mit der weiteren Einrichtung und Verwendung des Systems beginnt.

2. Raspberry Pi-Konfiguration

Meine erste richtige Amtshandlung besteht darin, die automatische Anmeldung beim Hochfahren des Gerätes zu deaktivieren. Dies bewirkt, dass man sich bei jedem Neustart des Gerätes mit dem Benutzerpasswort anmelden muss, bevor man mit dem System arbeiten kann.

Um dies zu tun:

  1. Klicke oben links auf das Anwendungsmenü
    (Raspberry Pi-Logo)
  2. Starte das Programm "Raspberry Pi-Konfiguration"
    Einstellungen → Raspberry Pi-Konfiguration

Eventuell muss daraufhin das Benutzerpasswort eingegeben werden, um dieses Programm zu starten.

Im Einstellungsfenster findet man direkt die Einstellung "Automatische Anmeldung:", die man mit einem Klick auf "Deaktiviert" abschalten kann.

Falls noch nicht geschehen, kann man im gleichen Fenster auch das Benutzerpasswort ändern und bei Bedarf auch einen anderen Rechnernamen (Hostname) angeben und ein paar weitere interessante Einstellungen anpassen.

3. Administratives Passwort festlegen

Damit ich mich zukünftig mit dem Konsolenbefehl su - als Benutzer root, sprich dem administrativen Systembenutzer mit den höchsten Berechtigungen, anmelden kann, vergebe ich dem Benutzer root ein eigenes Passwort.

Unabhängig davon, ob man dies tut oder nicht, wird man weiterhin nur nach dem Passwort für den standardmäßigen Benutzer pi gefragt, falls man das sudo Kommando verwendet, um Konsolenbefehle mit erhöhten Rechten auszuführen.

Tatsächlich wird man standardmäßig gar nicht nach einem Passwort gefragt, wenn man administrative Befehle in der Konsole ausführt. In dem nächsten Schritt dieses Beitrags gehe ich darauf ein, wie man dies ändern kann.

Zum Festlegen eines Passworts für den Benutzer root:

  1. Öffne das Terminal-Programm
    (STRG) + (ALT) + (T)
  2. Gebe folgende Befehle nacheinander ein:
    • sudo su (ENTER)
    • passwd (ENTER)

Bei dem passwd Befehl wird das Passwort abgefragt, welches für den Benutzer root vergeben werden soll. Hierbei sieht man die Eingabe mit der Tastatur nicht am Bildschirm, sprich auch keine Platzhalter, wie Stern-Symbole oder Punkte.

4. Passwortabfrage für sudo aktivieren

Raspberry Pi OS ist unter den unzähligen Linux-Betriebssystemen das Einzige was ich kenne, welches bei der Ausführung von administrativen Befehlen überhaupt gar nicht nach einem Passwort fragt.

Dies ermöglicht es jedem Programm und jedem Menschen mit Zugang zum Rechner (während man angemeldet ist), den größtmöglichen Schaden am System und an den eigenen Dateien anzurichten, den man sich nur vorstellen kann.

Natürlich wird man sich jetzt denken, dass die Raspberry Pi OS-Entwickler mindestens eine Schraube locker haben, eine solch gravierende Sicherheitslücke absichtlich einzupflegen. Jedoch gehe ich stark davon aus, dass dies aus Gründen der Zugänglichkeit und Bequemlichkeit für jene getan wurde, die sich den Raspberry Pi gekauft haben, aber noch keinen Plan von Linux haben und sich zu allem Überfluss immer ärgern, wenn sie bei jeder neuen Terminal-Sitzung oder nach einem gewissen Timeout immer wieder ihr starkes und kompliziertes Passwort eingeben müssen.

Auch, wenn die mehr oder weniger ständige Passworteingabe lästig sein kann, empfehle ich es doch dringend, dass man diesen Sicherheitsmechanismus in Kauf nimmt, insbesondere weil man sich auch ganz einfach dauerhaft z. B. mit dem Befehl sudo su als root anmelden kann und bei solch einer Benutzersitzung keine Passowortanfragen mehr folgen.

Um die Passwortabfrage also zu aktivieren:

  1. Öffne das Terminal-Programm
    (STRG) + (ALT) + (T)
  2. Gebe folgende Befehle nacheinander ein (jedes Mal (ENTER) drücken):

    sudo rm /etc/sudoers.d/010_pi-nopasswd
    
    sudo echo "pi ALL=(ALL) PASSWD:ALL" > /etc/sudoers.d/010_pi-passwd
    
    sudo chmod 440 /etc/sudoers.d/010_pi-passwd
    

Damit ist die Änderung sofort wirksam, ein Ab- und Anmelden oder Neustarten des Computers ist nicht nötig.

5. Zusätzliche Software installieren

Für meine alltäglichen Tätigkeiten am Computer installiere ich einige zusätzliche Programme, die es zu meinem Glück alle in den offiziellen Software-Paketquellen von Raspberry Pi OS zum Installieren gibt.

Und zwar installiere ich:

Software Art
Audacity Audiobearbeitung
EasyTAG Audio-Metadaten-Editor
Emacs Erweiterbarer Editor/IDE
Gajim XMPP-Chatclient
GIMP Bildbearbeitung
Irssi IRC-Chatclient
isync Mailbox-Synchronisierer
jq JSON-Prozessor (Textkonsole)
KeePassXC Passwort-Manager
moc Musikplayer (Textkonsole)
Mozilla Firefox Webbrowser
mu4e E-Mail Client für Emacs
Mumble Sprachkonferenz-Client
MPV Mediaplayer
OpenVPN VPN-Client
PHP7 Webentwicklung
QBitTorrent Torrent-Client
Simple Screen Recorder Bildschirm aufzeichnen
socat Socket-Relay (Textkonsole)
suckless-tools Werkzeuge für Shell-Skripte
UFW Firewall-Frontend
VIM Texteditor (Textkonsole)

All diese Software kann man mit diesem einzigen Terminal-Befehl installieren:

Terminal öffnen: (STRG) + (ALT) + (T)

sudo apt-get install firefox-esr firefox-esr-l10n-de vim gimp gimp-data openvpn mumble audacity audacity-data easytag irssi suckless-tools isync emacs mu4e mpv jq socat ufw keepassxc gajim gajim-omemo moc simplescreenrecorder qbittorrent php php-cli

Für das Finden und Installieren weiterer Software kann außerdem das Programm "Add / Remove Software" verwendet werden.

Hierzu geht man folgendermaßen vor:

  1. Klicke oben links auf das Anwendungsmenü
    (Raspberry Pi-Logo)
  2. Starte das Programm "Add / Remove Software"
    Einstellungen → Add / Remove Software
  3. Gebe deinen Suchbegriff ein und drücke (ENTER)
    (oder durchsuche die verschiedenen Kategorien)
  4. Wähle die gewünschte Software zur Installation aus
    (Häkchen setzen)
  5. Klicke abschließend auf "Apply" zum Anwenden
  6. Mit "OK" wird das Programm beendet

Sämtliche installierte Programme werden dann übersichtlich im Anwendungsmenü (oben links in der Leiste) kategorisch aufgelistet.

6. DNS-Server ändern

Das Umstellen und Verwenden eines anderen DNS-Servers ist sehr vorteilhaft für die Sicherheit und Privatsphäre.

Für das Raspberry Pi OS geht man am besten folgendermaßen vor, um den DNS-Server permanent umzustellen:

Editiere die Datei /etc/dhcpcd.conf als root

  • öffne hierzu mit (STRG) + (ALT) + (T) ein Terminal-Fenster
  • gebe ins Terminal den Befehl sudo nano /etc/dhcpcd.conf (ENTER) ein

Fahre in der geöffneten Datei mit den Pfeiltasten an das untere Ende der Datei und füge dort folgende Zeile ein:

static domain_name_servers=159.69.114.157 80.241.218.68

Als Beispiel handelt es sich bei diesen IP-Adressen um die DNS-Server von Dismail (https://dismail.de/info.html#dns).

Bei meinem oben verlinkten Artikel über DNS Server, habe ich einige meiner Meinung nach empfehlenswerte DNS-Anbieter und deren IP-Adressen aufgelistet.

Um die Änderungen in die Datei zu schreiben, drücke (STRG) + (O) und dann (ENTER).

Mit (STRG) + (X) wird der Texteditor beendet.

Um den geänderten DNS-Server direkt zu nutzen, gebe ins Terminal folgendes ein, um den DHCP-Client neu zu starten:

sudo service dhcpcd restart

7. Nicht benötigte Funkkomponenten deaktivieren

In aller Regel verwende ich ein Netzwerkkabel, um mit meinen Computern ins Internet zu telefonieren. Aus diesem Grund braucht der Raspberry Pi bei mir nicht ständig nach Funknetzwerken zu suchen.

Auch das im Raspberry Pi 3 Model B verbaute Bluetooth-Modul kommt bei mir äußerst selten zum Einsatz.

Ich deaktiviere also sowohl WLAN als auch Bluetooth, indem ich einen Linksklick auf das WLAN- und Bluetooth-Symbol in der oberen Leiste mache und jeweils "Turn Off Wi-Fi" und "Turn Off Bluetooth" auswähle.

Um es zu einem späteren Zeitpunkt wieder zu aktivieren, geht man genau gleich vor.

8. Unterstützung für verschlüsselte Speichermedien nachrüsten

Um auf die Dateien verschlüsselter Speichermedien zugreifen zu können, muss ein weiteres Softwarepaket nachinstalliert werden, was leider nicht standardmäßig vorinstalliert wird.

Führe hierzu ganz einfach diese beiden Befehle in einem Terminal aus:

sudo apt install libblockdev-crypto2
sudo systemctl restart udisks2.service

9. Externe Dateien auf den Raspberry Pi kopieren

Von einer Backup-Festplatte, die ich per USB an den Raspberry Pi anschließe, kopiere ich an dieser Stelle meine persönlichen Dateien, wie etwa Bilder, Dokumente, Musik, aber vor allem auch einige meiner Konfigurationsdateien für all die Programme, die ich tagtäglich nutze und meiner Softwareliste entsprechend unter dem Raspberry Pi OS nachinstalliert habe, wie zuvor gezeigt.

Beispiele für Konfigurations- und Programmdateien, die man aus anderen bestehenden Linux-Installationen her nehmen könnte, wären z. B.:

  • BASH RC-Datei ($HOME/.bashrc)
  • Eigene Shell-Skripte und ähnliches ($HOME/bin)
  • Emacs-Konfigurationen ($HOME/.emacs und/oder $HOME/.emacs.d/)
  • GnuPG ($HOME/.gnupg/ oder $XDG_DATA_HOME/gnupg/)
  • Login Shell Profildatei ($HOME/.profile)
  • Verschlüsselte Passwort-Datenbanken
  • SSH-Konfiguration, SSH-Schlüsseldateien ($HOME/.ssh/)

Auf das Kopieren von großen Dateien (> 2 GB) auf die microSD-Karte verzichte ich für meinen Teil und schließe in diesem Fall ein externes Speichermedium an, welches eine schnellere Lese- und Schreibrate hat. Insbesondere mache ich mir bei microSD-Karten um die begrenzten Schreibzyklen Sorgen und verzichte daher auf Späße, wie das Schreiben von 4K-Filmen und solche Sachen auf dieses Speichermedium, unabhängig von der Kapazität.

10. Temperatur-Monitor ins Panel integrieren

Wann immer man rechenintensive Prozesse mit dem Raspberry Pi betreibt oder ein Freund von Multitasking mit leistungsfressenden Programmen ist, möchte man eventuell die (CPU-)Temperatur im Blick behalten und zusehen, dass der Computer nicht stundenlang unter einer bedenklich hohen Temperatur schuftet.

Wie viele andere Menschen auch, halte ich hin und wieder meinen Handrücken an die Unterseite des Gehäuses (sofern ein Gehäuse existiert) und kann so zumindest grob einschätzen, ob die Temperatur im grünen Bereich ist.

Viel praktischer und präziser ist es aber natürlich, wenn man die aktuelle (CPU-)Temperatur einfach in der oberen Leiste anzeigen lässt.

Um eine Temperatur-Anzeige in die Leiste zu bekommen:

  1. Mache einen Rechtsklick auf die obere Leiste und wähle "Leisten-Einstellungen" aus
  2. Klicke im Konfigurationsfenster dann auf den Reiter "Leisten-Erweiterungen"
  3. Mit einem Klick auf "Hinzufügen" erscheint eine Auswahl der verschiedenen Erweiterungen für die Leiste.
    Wähle dort z. B. "Temperatur Monitor" und dann "Add" aus
  4. Mit "Hoch"/"Runter" kannst du die hinzugefügte Temperatur-Anzeige im Panel nach links und rechts verschieben, um es an die gewünschte Stelle zu positionieren

11. Hintergrundbild ändern

In meinem Bilder-Verzeichnis (in diesem Fall /home/pi/Pictures/) habe ich zuvor ein Verzeichnis hineinkopiert, in dem sich meine angesammelten Hintergrundbilder befinden, die ich gerne verwenden möchte.

Für das Ändern des Hintergrundbildes macht man einfach einen Rechtsklick auf die freie Fläche auf dem Desktop und wählt "Desktop-Einstellungen" aus.

Daraufhin kann man im geöffneten Einstellungsfenster das Hintergrundbild zu einer beliebigen gespeicherten Bilddatei ändern.

12. Firewall aktivieren

Die zuvor installierte Firewall ufw (ein leicht zu bedienendes Firewall-Frontend) aktiviere ich an dieser Stelle, damit nicht jedes Gerät im lokalen Netzwerk auf Dienste, wie z. B. dem PHP-Server für die Webentwicklung, zugreifen kann.

Hierzu öffnet man das Terminal-Programm mit (STRG) + (ALT) + (T) und gibt folgenden Befehl, wie immer gefolgt von (ENTER) natürlich, ein:

sudo ufw enable

Sofern man auf dem Raspberry Pi einen SSH-Server betreibt, um Fernwartung zu betreiben, muss man außerdem eine Firewallregel hinzufügen, um den SSH-Port für Netzwerkverbindungen freizugeben.
Zum Erlauben von SSH, falls nötig, verwende:

sudo ufw allow ssh

Um diese Firewallregel zu einem späteren Zeitpunkt wieder zu entfernen, verwendet man:

sudo ufw delete allow ssh

13. PulseAudio konfigurieren

Um eventuelle Probleme mit dem installierten Soundsystem PulseAudio zu vermeiden, deaktiviere ich ein bestimmtes PulseAudio-Modul.

In meinem Beispiel konnte ich damit das Problem lösen, dass Programme unter Linux, wie TeamSpeak 3 und Mumble, die Ton-Wiedergabe von allen anderen Programmen während ihrer Laufzeit "blockieren".

Im Falle von Raspberry Pi OS sind bereits alle anderen Änderungen, die ich an der PulseAudio-Konfiguration außerdem noch vornehmen würde, in der Standardform konfiguriert.

Um aber noch dieses problematische PulseAudio-Modul zu deaktivieren, bearbeitet man die Konfigurationsdatei /etc/pulse/default.pa.

Hierzu startet man das Terminal-Programm mit (STRG) + (ALT) + (T) und verwendet den Befehl:

sudo nano /etc/pulse/default.pa

Im Texteditor fährt man wiederum den Cursor mit den Pfeiltasten zu der Zeile, wo folgender Text steht:

load-module module-role-cork

An den Anfang dieser Zeile fügt man ein #-Zeichen ein, damit diese Zeile ab dem nächsten Neustart des PulseAudio-Diensts nicht mehr interpretiert wird und das Modul entsprechend nicht geladen wird.

Ist dies erledigt, speichert man mit (STRG) + (O) und (ENTER) die Datei und verlässt den Texteditor mit (STRG) + (X).

Normalerweise würde man an dieser Stelle den PulseAudio-Dienst neu starten, um die Änderung direkt anzuwenden. Allerdings habe ich bei Raspberry Pi OS bemerkt, dass hierdurch das Panel, sprich die obere Leiste, abstürzt und ebenfalls neu gestartet werden muss.

Aus diesem Grund ist es bestimmt geschickter und außerdem einfacher, den Raspberry Pi einfach ganz neuzustarten. Hierzu klickt man eben auf das Anwendungsmenü oben links in der oberen Leiste und wählt den Menüpunkt "Abmelden" aus. Mit einem Klick auf "Neu starten" wird der Raspberry Pi dann heruntergefahren und neu gestartet.

14. Firefox-Webbrowser konfigurieren

Mit den Standardeinstellungen des Firefox-Webbrowsers bin ich, sagen wir Mal, eher unzufrieden und passe diese deshalb für mehr Kontrolle, Sicherheit und Privatsphäre – und für ein weniger nervtötendes Surferlebnis – an.

Meine Anpassungen sind sehr umfangreich und besonders dann zeitaufwändig, wenn man die ganzen Einstellungen zum ersten Mal durchgeht. Die gesamte Konfiguration könnte man sich z. B. über sogenannte Firefox-Profile, die man mit einem Klick importieren kann, ersparen.

Für das Verständnis der Einstellungen im Standard-Firefox, mit denen ich nicht zufrieden bin, zeige ich hier den manuellen Weg, das alles umzustellen. So fürchterlich ist der ganze Konfigurationsprozess dann auch wieder nicht.

Weil der Firefox ansonsten beim bloßen Start des Programms standardmäßig Verbindungen zu mehreren Firefox-Diensten aufbaut, mit denen ich meine umfassenden Systeminformationen nicht teilen möchte, trenne ich die Internetverbindung des Computers, bevor ich den Firefox überhaupt zum ersten Mal starte.

Den Firefox schließlich geöffnet, klicke ich im Programm zuerst oben rechts auf das Menü-Symbol und wähle "Einstellungen" aus.

Nun zu den Einstellungen.

Unter Allgemein (siehe linke Spalte bei den Einstellungen) mache ich folgendes:

  • Allgemein → Start
    • "Immer überprüfen ob Firefox der Standardbrowser ist" aktivieren
  • Dateien und Anwendungen → Downloads
    • "Jedes Mal nachfragen, wo eine Datei gespeichert werden soll" aktivieren
  • Surfen
    • "Sanften Bildlauf aktivieren" deaktivieren
    • "Videosteuerung für Bild-im-Bild (PiP) anzeigen" deaktivieren
    • "Medien über Tastatur, Headset oder virtuelle Schnittstelle steuern" deaktivieren
    • "Erweiterungen während des Surfens empfehlen" deaktivieren
    • "Funktionen während des Surfens empfehlen" deaktivieren
  • Verbindungs-Einstellungen
    • Auf "Einstellungen…" klicken
    • "DNS über HTTPS aktivieren" aktivieren
      • Anbieter verwenden: Benutzerdefiniert
      • Benutzerdefiniert: https://doh.libredns.gr/dns-query
      • Falls man sich mit einem VPN verbindet, sollte man DNS über HTTPS für die bessere Privatsphäre während der Nutzung des VPNs deaktivieren

Unter Startseite (siehe links) ändere ich folgende Einstellungen:

  • Startseite → Neue Fenster und Tabs
    • Startseite und neue Fenster: Leere Seite
    • Neue Tabs: Leere Seite
  • Startseite → Inhalte des Firefox-Startbildschirms
    • alles deaktivieren

Unter Suche (siehe links) passe ich folgendes an:

  • Standardsuchmaschine: "DuckDuckGo"
    • die Liste der Standardsuchanbieter ist äußerst klein und besteht größtenteils bloß aus Big Tech Konzernen, sodass ich vorerst das geringste Übel wähle. Für meine Suchanfragen verwende ich allerdings ein Shell-Skript per Tastenkürzel, bei dem ich aus einer Vielzahl von Suchanbietern auswählen kann.
  • Suchvorschläge
    • alles deaktivieren

Unter Datenschutz & Sicherheit gehe ich folgendermaßen vor:

  • Browser-Datenschutz → Verbesserter Schutz vor Aktivitätenverfolgung
    • Benutzerdefiniert auswählen
    • Dabei alle Optionen unter "Benutzerdefiniert" aktivieren
      • Cookies: Alle Cookies von Drittanbietern (einige Websites funktionieren dann eventuell nicht mehr)
      • Inhalte zur Aktivitätenverfolgung: In allen Fenstern
  • Cookies und Website-Daten
    • "Cookies und Website-Daten beim Beenden von Firefox löschen" aktivieren
  • Zugangsdaten und Passwörter
    • alles deaktivieren
  • Chronik
    • Firefox wird eine Chronik: nach benutzerdefinierten Einstellungen anlegen
    • "Immer den Privaten Modus verwenden" aktivieren
  • Adressleiste
    • alles deaktivieren
  • Berechtigungen
    • Standort:
      • "Neue Anfragen für den Zugriff auf den Standort blockieren" aktivieren
    • Benachrichtigungen:
      • "Neue Anfragen zum Anzeigen von Benachrichtigungen blockieren" aktivieren
    • Automatische Wiedergabe:
      • Standard für alle Websites: Audio und Video blockieren
    • Virtuelle Realität:
      • "Neue Anfragen für den Zugriff auf Ihre VR-Geräte blockieren" aktivieren
  • Datenerhebung durch Firefox und deren Verwendung
    • alles deaktivieren
      (bei Raspberry Pi OS bereits der Fall)
  • Sicherheit → Schutz vor betrügerischen Inhalten und gefährlicher Software
    • alles deaktivieren
      (auf das Übermitteln von personenbezogenen Informationen an Google, wann ich welche Webseite aufrufe, verzichte ich und gehe das "Risiko" ein, zumal ich später noch einen wesentlich praktischeren JavaScript-Blocker installiere. Auch sehr scheiße von Mozilla ist bei dieser Einstellung, das in keinem Wort etwas über die Datenerfassung durch Google-Dienste erwähnt wird)

14.1. Weitere Einstellungen in der about:config

Die richtigen Stärken von Firefox, die zur erhöhten Sicherheit und Privatsphäre führen, findet man in einer anderen, weniger benutzerfreundlichen Konfigurationsschnittstelle im Firefox.

Um diese aufzurufen, gibt man in die Adresszeile folgenden Text ein:

about:config

Ruft man diese Seite auf, erscheint eine Warnung, die man bestätigen muss. Die Konfigurationsschnittstelle about:config erlaubt nämlich tiefe Eingriffe in das Verhalten des Webbrowsers, die sich auf die Stabilität und Sicherheit des Programms auswirken können.

Ich komme nun zu einer Reihe von Einstellungen, die man in das obere Suchfeld eingeben kann. Unter dem Suchfeld erscheint dann die gefundene Einstellung, die man mit einem Doppelklick an- und abschalten kann. Bei Zahlenwerten kann man diesen mit einem Doppelklick darauf ändern und einen neuen Wert eingeben.

Zu jeder meiner Einstellungen beschreibe ich natürlich die resultierende Wirkung, die je nach Art und Weise der Nutzung des Webbrowsers gewünscht sein kann, oder auch nicht.

Alle geänderten Einstellungen kann man mit der Auswahlbox "Nur veränderte Einstellungen anzeigen" auflisten lassen und wieder rückgängig machen.

Nun zu den Einstellungen (das Fettgedruckte wird ins Suchfeld eingegeben):

14.1.1. media.peerconnection.enabled

Standardwert: true
Neuer Wert: false

Hiermit wird WebRTC deaktiviert.

WebRTC wird für Peer-2-Peer-Verbindungen von Webseiten, wie WhatsApp Web, Threema Web und für Audio- und Videokonferenzen zwischen zwei Teilnehmern verwendet.

Da ich das WebRTC-Protokoll nur sehr selten gebrauche, deaktiviere ich diese entsprechend überflüssige Funktionalität, die schließlich auch missbraucht werden kann, und zwar sowohl sicherheits- als auch datenschutztechnisch.

14.1.2. privacy.resistFingerprinting

Standardwert: false
Neuer Wert: true

Das Aktivieren dieser Einstellung erschwert es Seitenbetreibern, bzw. Big Tech Unternehmen und Werbeunternehmen, die eigene persönliche Identität anhand von den Webbrowser- und Systemmerkmalen, wie installierte Browser-Addons, das genutzte Betriebssystem, die Zeitzone, installierte Schriftarten, Bildschirmgröße, Arbeitsspeicher usw. festzustellen.

Firefox würde dadurch "gängige" Informationen statt der tatsächlichen Systeminformationen übermitteln, so wird den Webseiten zum Beispiel als verwendetes Betriebssystem das weit verbreitete Windows 10 mitgeteilt, obwohl man in Wirklichkeit unter Linux unterwegs ist.

14.1.3. privacy.firstparty.isolate

Standardwert: false
Neuer Wert: true

Diese Einstellung isoliert die Cookies und einige andere Daten der Webseite, die man besucht, sodass alle anderen Domains nicht auf diese Cookies zugreifen können. Dies dient dem Schutz vor webseitenübergreifender Aktivitätenverfolgung.

14.1.4. geo.enabled

Standardwert: true
Neuer Wert: false

Hierdurch wird die Standortermittlung mithilfe eines Google-Dienstes durch Webseiten verhindert.

Google würde ansonsten folgende Informationen erhalten, sofern man einer Webseite die Berechtigung erteilt, den Standort zu ermitteln:

  • eigene IP-Adresse
  • WLAN-Zugangspunkte in der Umgebung
  • Zufällige Benutzerkennung

14.1.5. media.navigator.enabled

Standardwert: true
Neuer Wert: false

Durch das Deaktivieren dieser Einstellung können Webseiten nicht den Status des Mikrofons und der Kamera mitverfolgen.

Unabhängig dieser Einstellung funktionieren Audio- und Videokonferenzen dennoch problemlos.

14.1.6. network.dns.disableIPv6

Standardwert: false
Neuer Wert: true

Mir genügt die IPv4-Adresse, um im Internet zu surfen.

Insbesondere bei einem DSL-Anschluss, wo man sich die IPv4-Adresse mit verschiedenen anderen Kunden des Internetanbieters kreuz und quer teilt, verzichte ich auf die IPv6-Adresse als unnötigen einzigartigen Identifizierer.

Aus diesem Grund deaktiviere ich in der Regel die IPv6-Schnittstelle systemweit oder verwende den TOR-Browser oder einen VPN-Dienst, jedoch kann es darüber hinaus nicht schaden, im Firefox diese Einstellung, die sich auf DNS-Anfragen über IPv6 bezieht, zu deaktivieren.

14.1.7. network.dns.disablePrefetch

Standardwert: false
Neuer Wert: true

Etwas, was mich an "modernen" Webbrowsern (und auch Systemen wie Android, iOS, Windows und Co.) gewaltig stört, sind die zahlreichen ständigen Internetverbindungen im Hintergrund, die man selbst nie veranlasst hätte.

Deaktiviert man diese Einstellung, werden DNS-Anfragen nicht im Voraus an den DNS-Dienst übermittelt, sondern erst dann, wenn man die betroffene Webseite tatsächlich besuchen möchte und dafür mithilfe des DNS-Diensts eine Verbindung zur Webseite aufbauen möchte.

Sinn und Zweck vom sogenannten Prefetching soll ein Geschwindigkeitsvorschub sein. Dieser fällt allerhöchstens derart gering aus, dass kein normaler Mensch solch eine Funktion implementieren würde, es sei denn, es springt natürlich Geld dabei raus.

14.1.8. network.prefetch-next

Standardwert: true
Neuer Wert: false

Ähnlich wie bei der obigen Einstellung, werden hier Webseiten im Voraus heruntergeladen, damit jene Seiten, die man eventuell besuchen wird, schneller geladen werden.

Besonders toll daran ist der unnötige Ressourcenverbrauch für Webseiten, die man in der Browser-Sitzung nicht einmal besucht – insbesondere beim Raspberry Pi mit 1GB RAM in meinem Fall – und der Aspekt der Privatsphäre gegenüber den Webseiten, die man irgendwann mal besucht hat.

Ich verwende Prefetching nie und habe selbst bei langsamen Internetverbindungen keine Beschwerden, wenn eine Webseite die eine oder andere Sekunde mehr benötigt, um die 20 Megabyte an Werbung und Trackern zu laden, die mit einem JavaScript-Blocker sowieso gar nicht erst geladen werden.

14.1.9. webgl.disabled

Standardwert: false
Neuer Wert: true

Mit WebGL können zum Beispiel aufwändige 3D-Animationen im Browser gerendert werden. Etwas, was die allermeisten, mich eingeschlossen, ganz sicher nicht benötigen.

Diese verzichtbare Technologie, die als unnötiges potenzielles Sicherheitsrisiko zu betrachten ist, und außerdem für das Webbrowser-Fingerprinting zur Ermittlung der persönlichen Identität genutzt werden kann, gehört ganz einfach deaktiviert – indem man diese Einstellung mit einem Doppelklick auf true setzt natürlich.

14.1.10. dom.event.clipboardevents.enabled

Standardwert: true
Neuer Wert: false

Durch das Ändern dieser Einstellung verhindert man, dass Webseiten fragwürdige Meldungen darüber empfangen, wenn man innerhalb der Webseite Inhalte kopiert, einfügt oder ausschneidet.

14.1.11. extensions.pocket.enabled

Standardwert: true
Neuer Wert: false

Hierbei geht es um die vorinstallierte und auf anderem Wege nicht deaktivierbare Firefox-Erweiterung Pocket.

Sofern man Pocket nicht benutzt, kann und sollte man sich den Netzwerkverkehr mit dieser kommerziellen Trackingmaschine ersparen.

14.1.12. network.captive-portal-service.enabled

Standardwert: true
Neuer Wert: false

In bestimmten Netzwerken muss man sich über ein sogenanntes Captive Portal, sprich eine Webseite die innerhalb des Netzwerks erreichbar ist, authentifizieren, um das Internet erreichen zu können.

Da ich mit solchen Netzwerken nie etwas am Hut habe, braucht der Mozilla Firefox nicht bei jeder einzelnen Webseite die ich besuche, mehrmals einen Ping an die Mozilla-Webseite zu schicken, nur um zu testen, ob das Internet funktioniert.

Sofern man sich in einem solchen Netzwerk wiederfinden sollte, kann man diese Einstellung eben wieder aktivieren, nur um sie daraufhin wieder zu deaktivieren. Denn der Nutzen ist lediglich das automatische Weiterleiten auf die Captive Portal-Seite, wenn man versucht, ohne Freischaltung durch das Captive Portal irgendeine Internetseite aufzurufen.

14.1.13. network.http.sendRefererHeader

Standardwert: 2
Neuer Wert: 0

In der Standardeinstellung teilt Firefox (und alle anderen Webbrowser) sämtlichen Webseiten quasi mit, woher man gegebenenfalls kommt.

Klickt man bei Webseite A auf einen Link, der zu Webseite B führt, teilt Firefox Webseite B entsprechend den Link zur Webseite A als Herkunftsseite des (in der Regel identifizierten) Besuchers mit.

Dies kann für Affiliate-Programme nützlich sein, ist jedoch per Definition natürlich gleichzeitig eine webseitenübergreifende Aktivitätenverfolgung, die für Betroffene keinerlei Vorteile, sondern nur Nachteile mit sich bringt.

Macht man einen Doppelklick auf die 2, kann man als Wert dann 0 angeben, um den Referer-Header nicht zu senden.

Achtung: Dies führt bei manchen Webseiten zu Problemen. Zum Beispiel nutzt die Kursplattform Udemy, die ich mit dem Raspberry Pi aufgrund des unnötigen DRM-Zwangs sowieso nicht benutzen kann, irgendeinen Sicherheitsmechanismus beim Anmelden, dass man meinen könnte, es wäre die Webschnittstelle einer Landeszentralbank. Nicht mal Google oder Amazon, über deren Webseiten man tatsächlich Zahlungen abwickeln kann, verwenden so einen Mist.

Dieser anscheinliche Sicherheitsmechanismus greift irgendwie auf den Referer-Header zurück und wenn dieser eben fehlt, bekommt man eine entsprechende Fehlermeldung zurück und darf sich nicht anmelden. Von solchen merkwürdigen Webseiten kann ich nur noch abraten. Statt einer derart einschränkenden und zwangsbehafteten Onlinekursplattform investiere ich das Geld dann doch lieber in Bücher und DRM-freie E-Books und Videos, die ich auf allen meinen Geräten verwenden kann.

14.1.14. security.ssl3.rsa_des_ede3_sha

Standardwert: true
Neuer Wert: false

Wie das Wort "Security" schon vermuten lässt, geht es bei dieser Einstellung eher um die Sicherheit, nämlich bei der SSL-Verschlüsselung.

Im Regelfall ruft man Webseiten heutzutage über das verschlüsselte HTTPS-Protokoll auf, wobei es hierbei wiederum zahlreiche Verschlüsselungsalgorithmen gibt, über die sich der Webbrowser und der Webserver gleich zu Beginn einigen.

Dies geschieht je nachdem, wie der Webserver des Internetdienstanbieters konfiguriert ist und eben auch, wie der Webbrowser des Nutzers konfiguriert ist.

Auf beiden Seiten ist es natürlich wichtig, zeitgemäß sichere Verschlüsselungsmethoden zu verwenden. Indem man seinen Webbrowser auf dem neuesten Stand hält, ist man eigentlich schon ganz gut mit dabei.

Allerdings gibt es genügend Internetserver, die eher schlecht als recht konfiguriert sind, bzw. jahrelang nicht umkonfiguriert wurden und schwächere Verschlüsselungen einsetzen, obwohl sie aber stärkere Algorithmen unterstützen.

Hier hilft die oben angegebene Einstellung dabei, eine gewisse Verschlüsselungsmethode zu deaktivieren, die inzwischen als eher unsicher einzustufen ist.

14.1.15. security.ssl.require_safe_negotiation

Standardwert: false
Neuer Wert: true

Auf diese letzte Einstellung bin ich zufällig durch ein YouTube-Video gestoßen. Dort wurde diese zwar, wie bei YouTube leider eher üblich, nicht sonderlich erklärt, aber dem Namen nach bezieht sich die Einstellung auf die "sichere Verhandlung" bezüglich der SSL-Verschlüsselung.

Ich habe diese Einstellung schon seit längerer Zeit aktiviert und konnte bei meiner normalen Internetnutzung keine Probleme feststellen. Wenn ich mich richtig erinnere, wurde diese Einstellung ebenfalls beim TOR-Webbrowser und beim LibreWolf-Webbrowser angepasst.

14.2. Erneutes Besuchen der Firefox-Einstellungen

Durch die Anpassungen in der about:config ist auch zumindest eine neue Einstellung zu den Haupteinstellungen, die man, wie zuvor behandelt, über das Firefox-Menü → Einstellungen anpassen kann, hinzugekommen.

Nochmal unter Allgemein findet man dort den Bereich Sprache, wo man bei "Bevorzugte Sprachen für die Darstellung von Websites wählen" auf "Wählen…" klickt.

Dort findet sich dann nämlich ein neues Auswahlkästchen "Englischsprachige Versionen von Websites für verbesserte Privatsphäre anfordern". Warum zum Teufel diese harmlose Option nicht vor den Anpassungen in der about:config schon sichtbar war, ist mir bis heute unverständlich.

14.3. NoScript-AddOn hinzufügen

NoScript ist ein populäres Add-On für Firefox, mit dem man hauptsächlich die Ausführung von JavaSkripten auf einfachem Wege für Webseiten erlauben oder verbieten kann.

Dabei bietet das Add-On Schutz vor XSS-Angriffen (Cross-Side-Scripting) und unerwünschten Webinhalten, wie etwa WebGL oder eingebettete Webseiten Dritter (wie Facebook- und Twitter-Plugins).

Um NoScript zu installieren, gibt es in den Firefox-Einstellungen unten Links die Schaltfläche "Erweiterungen & Themes".
Darauf geklickt, gibt man dann in das Suchfeld oben rechts "NoScript" ein und drückt die Eingabetaste.

Der erste Suchtreffer müsste dann das NoScript-AddOn sein, das man dann direkt auch zu Firefox hinzufügen kann.

Beim Hinzufügen erscheint ein kleines Fenster mit dem blauen Knopf "Installieren". Bevor man darauf klickt, sollte man noch die Option darüber aktivieren, um die Ausführung von NoScript auch in privaten Fenstern zu erlauben.

Ist NoScript installiert, findet man links neben dem Firefox-Menüsymbol ein hinzugekommenes NoScript-Symbol.

Ich für meinen Teil ändere noch etwas an den NoScript-Einstellungen, was ich aber nicht unbedingt jedem empfehlen würde. Hierzu klicke ich auf das NoScript-Symbol und dann auf das dritte Symbol von links (die NoScript-Einstellungen).

Unter Allgemein und bei "STANDARD" nehme ich alle Häkchen raus.

Unter Berechtigungen pro Webseite klicke ich bei jedem Listeneintrag auf das Symbol ganz links (STANDARD). Dadurch werden diese voreingestellten, vertrauenswürdigen Webseiten hinterher aus der Liste gelöscht.

Beim Surfen mit aktivierter NoScript-Erweiterung wird man feststellen, dass manche Webseiten nicht so funktionieren, wie man das gerne hätte. An dieser Stelle würde man die Ausführung von JavaScript erlauben, indem man auf das NoScript-Symbol klickt und bei dem ersten Eintrag der Liste wahlweise auf das zweite Symbol (Temporär VERTRAUEN) oder das dritte Symbol (VERTRAUEN) klickt.

Damit erlaubt man der Webseite, die man zurzeit besucht, die Ausführung von JavaScript. Doch leider genügt das heutzutage oftmals nicht, da viele Webseiten nämlich haufenweise JavaSkripte von externen Webseiten beziehen, zu denen der Webbrowser wiederum eine Hintergrundverbindung herstellen müsste.

Um dies auch noch zu gestatten, würde man mit dem nächsten Eintrag in der Liste fortfahren, bzw. wenn man bereits genau weiß, von welcher Domain man JavaSkripte benötigt, erlaubt man entsprechend eine bestimmte Domain aus dieser Liste.

Sofern man nicht, wie ich, immer den privaten Modus im Firefox verwendet, würde sich NoScript die Präferenzen merken, sodass man sich die Bemühungen nur einmalig macht.

Die Firefox-Konfiguration wäre an dieser Stelle, was zumindest mich betrifft, abgeschlossen.

15. Autostart-Programme hinzufügen

Bestimmte Programme, bzw. Hintergrunddienste, lassen sich relativ einfach einer Autostart-Liste hinzufügen.

Ich habe mich dazu entschieden, die automatisch zu startenden Programme in der Datei $HOME/.config/lxsession/LXDE-pi/autostart zu verwalten. Diese Datei wird nämlich erst dann ausgeführt, wenn eine neue Desktop-Sitzung gestartet wird.

Die angesprochene Datei muss neu erstellt werden, dabei wird diese zukünftig anstelle der bestehenden systemweiten Autostart-Datei verwendet. Aus diesem Grund müssen die bereits existierenden Autostart-Einträge, für den Start des Desktop-Panels beispielsweise, erneut eingetragen werden.

Damit man sich hiermit keine Bemühungen machen muss, habe ich das Ganze hier in fertiger Form zusammengestellt.

Man öffnet zunächst das Terminal mit (STRG) + (ALT) + (T) und erstellt mit folgenden Befehl die neue leere Autostart-Datei:

touch ~/.config/lxsession/LXDE-pi/autostart

HINWEIS: Nach mehrmaligem Testen habe ich festgestellt, dass das benutzerbezogene Autostart-Verzeichnis nicht immer ab Werk existiert. Sollte das Verzeichnis nicht existieren (das merkt man z. B. an einer entsprechenden Fehlermeldung beim obigen Terminal-Befehl), führt man zuerst diesen Befehl aus:

mkdir -p ~/.config/lxsession/LXDE-pi/

Diese neu erstellte Datei öffnet man anschließend mit einem beliebigen Texteditor, zum Beispiel nano:

Hinweis:

man kann auch den Dateimanager öffnen, ein Mal (STRG) + (H) drücken, dann in das versteckte .config/ Verzeichnis und nach lxsession/LXDE-pi/ navigieren und die autostart Datei in einem üblichen grafischen Texteditor öffnen.

nano ~/.config/lxsession/LXDE-pi/autostart

In diese Datei fügt man zuerst diese folgenden Zeilen ein, damit weiterhin die Desktopleiste, der Hintergrunddienst für den Dateimanager und der Bildschirmschoner gestartet werden:

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash

Wie man erkennen kann, beginnt jede Zeile mit einem @-Zeichen und dem auszuführenden Kommando. Dazu können, wie in der Textkonsole auch, die Kommandoparameter, mit einem Leerzeichen getrennt, angegeben werden.

In meinem exotischen Fall möchte ich nur ein weiteres Programm für den Autostart hinzufügen, und zwar den Emacs-Hintergrunddienst. Dieser bringt den Vorteil, dass Emacs spürbar schneller startet, wenn man das Programm denn hin und wieder mal aufruft.

Hierzu füge ich in die Datei eine neue Zeile mit folgendem Inhalt ein:

@/usr/bin/emacs --daemon

Ist man fertig, speichert man die Datei im nano-Texteditor mit (STRG) + (O) und (ENTER) und beendet den Editor mit (STRG) + (X).

Loggt man sich das nächste Mal in die Desktopsitzung ein, werden dann die hinzugefügten Programme automatisch gestartet.

16. E-Mail für Emacs einrichten

Als letzten Schritt meiner Raspberry Pi OS-Einrichtung widme ich mich den Vorbereitungen für eine lokale Mailbox, die ich dann mithilfe von mu4e, einem E-Mail Client für Emacs, verwalten kann.

Für den Fall, dass man mit dem E-Mail-Synchronisations-Programm isync (bzw. mbsync) bereits vertraut ist und dieses auch schon konfiguriert hat (ich habe meine persönlichen Konfigurationsdateien von einer externen Festplatte bereits in mein Konfigurationsverzeichnis kopiert), kann man diesen folgenden Schritten hier folgen, um Emacs als Mailclient einzurichten.

Die Programme mu4e und isync müssen selbstverständlich auch noch installiert sein, so wie ich es zuvor in der Tabelle im Schritt Zusätzliche Software installieren aufgeführt habe.

Außerdem muss ebenfalls eine Konfiguration für mu4e vorgenommen worden sein. Auf all diese Konfigurationen gehe ich hier nicht ein, da der Beitrag so schon lange genug ist und dies eher ein Vorhaben für fortgeschrittene PC-Anwender ist.

Zunächst muss man das neue Verzeichnis erstellen, welches man in seiner mbsyncrc-Konfigurationsdatei angegeben hat. In meinem Fall entschied ich mich für ein verstecktes Unterverzeichnis $HOME/.mail/mailbox/.

Mit (STRG) + (ALT) + (T) öffne ich also ein Terminal und gebe ein:

mkdir -p ~/.mail/mailbox

Danach synchronisiere ich mit mbsync und meiner Konfiguration alle E-Mails über das IMAP-Protokoll. Damit das Ganze funktioniert, muss, wie erwähnt, eine entsprechende mbsyncrc-Konfigurationsdatei ausgearbeitet worden sein. Ich führe in meinem Fall aus:

mbsync mailbox

mailbox ist dabei der Alias, den man in der mbsyncrc-Datei konfiguriert hat. Alternativ kann man den Befehl mbsync -a verwenden, um alle konfigurierten Mailboxen zu synchronisieren.

Nachdem man sich daraufhin authentifiziert hat (bzw. hat man sich eventuell durch einen Passwortspeicher bereits authentifiziert), werden alle E-Mails in das angegebene E-Mail-Verzeichnis heruntergeladen.

Im nächsten Schritt führe ich diese beiden mu-Befehle nacheinander aus, um diese heruntergeladenen E-Mails indexieren zu lassen, sodass der mu4e E-Mail Client mit diesen arbeiten kann:

mu init --maildir=/home/pi/.mail/ --my-address=############
mu index

Statt den #-Zeichen gibt man eben seine E-Mail Adresse ein, mit der man sich beim E-Mail Server anmelden kann.

Damit kann man in Emacs mit dem mu4e-Befehl den konfigurierten(!) E-Mail Client starten. Diesen Befehl kann man sich auch auf einen Tastenkürzel legen, um im Handumdrehen den E-Mail Client aufzurufen.

Das wäre es dann also mit meiner Einrichtung des Raspberry Pi OS-Systems für den Desktopbetrieb gewesen.

Falls Fragen oder Probleme aufgekommen sind, antworte ich gerne auf deine E-Mails an webmaster@kevin-mandura.de.