[Tutorial] Arbeitsterminals mit dem Raspberry (Stretch 11/2018)

L I V E Stammtisch ab 20:30 Uhr im Chat
  • (Zurück zum Inhaltsverzeichnis)

    Einleitung

    In der Firma, die z.Z. mein Gehalt bezahlt, werden mehrere Terminals benötigt.
    Diese Terminals sollen innerbetrieblich an diversen Arbeitsplätzen eingesetzt werden.
    Als Software wird nur ein Browser benötigt mit dem die Arbeitsanweisungen incl. Bilder von einen Webserver abgerufen werden können.
    Da die Anwender(innen) sich zum Teil weder mit Windows noch mit Linux auskennen, muss der Vorgang so einfach wie möglich sein.
    Da diese Terminals auch von Mitarbeitern eingerichtet werden müssen, die nur geringe Linux-Kentnisse haben, ist diese Anleitung doch etwas ausführlicher geworden.
    Während der Einrichtung entstand diese Installationsanleitung als Dokumentation, die ich nun mit der Erlaubnis meines Arbeitgebers (anonymisiert) veröffentlichen kann.
    Vielleicht hat der eine oder andere auch noch ein paar Ideen...

    Vorgaben

    Die Hardware-Auswahl fiel auf einen Raspberry 3B mit Raspian Stretch und einem Monitor mit 1920*1080.
    Der Bootvorgang sollte direkt zu einem geöffneten Browser(hier Chromium) mit den vorhandenen Aufträgen führen.
    Um mehrere Terminals möglichst gleichartig und relativ schnell in Betrieb nehmen zu können, soll die SD-Karte anschließend "geklont" werden.
    Dazu reicht eine 4GB-Karte vollkommen aus.
    Die Inbetriebnahme beschränkt sich dann auf das Einstecken einer SD-Karte und das Ändern von "/etc/hosts" und "/etc/hostname".

    Einrichtung der Master-SD-Karte

    Als erstes wird "Raspian Stretch with Desktop" auf die SD-Karte kopiert und gestartet.
    "With Desktop" deshalb weil weder Libreoffice noch Mathematica benötigt werden.
    Danach wird das System mit "sudo raspi-config" im Terminal eingerichtet.

    Sprache, Tastatur, Zeitzone

    Hier sollte man erstmal die Sprache und das Tastaturlayout auswählen:

    Code
    4 Localisation Options Set up language and regional settings to match your location
      I1 Change Locale          Set up language and regional settings to match your location
        [*] de_DE.UTF-8 UTF-8
        [*] en_GB.UTF-8 UTF-8
       -> OK

    Im nachfolgenden Schritt "de_DE.UTF-8" auswählen und dann "OK" auswählen.
    Als nächstes wird die Zeitzone eingerichtet:

    Code
    4 Localisation Options Set up language and regional settings to match your location
      I2 Change Timezone        Set up timezone to match your location
        Europa
          Berlin
          -> OK

    Nun zur Tastatur:

    Code
    4 Localisation Options Set up language and regional settings to match your location
      I3 Change Keyboard Layout Set the keyboard layout to match your keyboard
        Generische PC-Tastatur mit 105 Tasten (Intl)
          Deutsch
            Der Standard für die Tastenbelegung
              Keine Compose-Taste
                Strg+Alt+Zurück (Ctrl+Alt+Backspace) verwenden, um den X-Server zu beenden? -> Ja

    Passwort

    Nachdem das System auf Deutsch umgestellt wurde, kann man jetzt das Passwort ändern ohne in die YZ-Falle zu tappen.
    Der User "pi" und das Passwort "raspberry" ist weltweit bekannt und Hacker sind außerordentlich erfreut wenn sie es unverändert vorfinden.

    Netzwerk

    Kommen wir nun zum Netzwerk:

    Code
    2 Network Options      Configure network settings
      N1 Hostname                Set the visible name for this Pi on a network

    Hier wird als Hostname erstmal ein Platzhalter eingetragen, der dann später bei der Inbetriebnahme des Klones geändert wird.
    Ich habe hier "terminalXX" gewählt. So sieht man sofort, das der spätere Klone noch angepasst werden muss. Die anderen beiden Optionen ignorieren.

    Boot-Option

    Nächster Punkt:

    Code
    3 Boot Options         Configure options for start-up
     B1 Desktop / CLI            Choose whether to boot into a desktop environment or the command line
       B4 Desktop Autologin Desktop GUI, automatically logged in as 'pi' user

    Hier wird vorgegeben, das der User ohne Passwort auf die Desktop-Oberfläche eingeloggt wird.
    Nicht wundern, eine weitere Anpassung erfolgt später im Abschnitt Autologin.
    Nochmal die Boot Options:

    Code
    3 Boot Options         Configure options for start-up
      B2 Wait for Network at Boot Choose whether to wait for network connection during boot

    Dies mit "Ja" beantworten, es dient dazu, das der Raspberry auf das Netzwerk zu wartet. Es verzögert zwar ab und zu das Booten, aber dann hat man auch "Netz".
    Wenn das zu lange dauert (>30sec) dann hat man mit dem Netzwerk ein Problem.

    SSH einschalten

    Damit man das System übers Netzwerk administrieren kann muss man SSH einschalten:

    Code
    5 Interfacing Options  Configure connections to peripherals
      P2 SSH         Enable/Disable remote command line access to your Pi using SSH

    Das ermöglicht einen Admin per ssh auf den Rechner zuzugreifen (z.B.: Updates). Unter Linux als Beispiel:

    Code
    ssh pi@terminalXX

    Unter Windows geht das mit "Putty" oder "Kitty"

    Sonstiges

    Bleiben jetzt nur noch die zusätzlichen Optionen:

    Code
    7 Advanced Options     Configure advanced settings
      A2 Overscan          You may need to configure overscan if black bars are present on display

    Beseitigt einen eventuellen Trauerrand auf dem Monitor, gesehen auf einem Monitor mit einem HDMI-DVI Adapter.

    Code
    7 Advanced Options     Configure advanced settings
      A4 Audio             Force audio out through HDMI or 3.5mm jack

    Schaltet den Audio-Ausgang entweder auf die Klinkenbuchse oder HDMI (Absolute Stille, wenn der Monitor keine Lautsprecher hat).

    Jetzt kann raspi-config mit "Finish" verlassen

    Update

    Nun sollte man das System mit der neusten Software upgedaten (sudo apt update && sudo apt upgrade -y), das kann etwas länger dauern.

    Nacharbeiten

    Folgende Software kann/sollte man jetzt noch nachinstallieren:

    Code
    sudo apt install mc vim ca-certificates binutils htop dcfldd

    Es kann sein, das einiges davon schon auf dem neusten Stand ist.
    In der .bashrc kann man jetzt noch etwas auskommentieren, bzw. ergänzen:

    Code
    vim .bashrc
    alias ll='ls -l'
    alias vi='vim'
    alias TTS='tail -f -n 500 /var/log/syslog'

    Das Alias TTS zeigt die letzten 500 Zeilen der syslog-Datei an, das dient nur zur Fehlersuche, die Option "-f" zeigt neue Zeilen fortlaufend an.
    Jetzt kann man noch Bluetooth und WLAN abschalten, für ein Terminal mit LAN-Anschluss wird das nicht benötigt:

    Code
    sudo vim /boot/config.txt

    dort an Ende anfügen:

    Code
    # Disable WLAN
    dtoverlay=pi3-disable-wifi
    # Disable Bluetooth
    dtoverlay=pi3-disable-bt

    Ein "sudo reboot" läßt den Raspberry neu starten.

    Konfigurierung als Terminal

    Da der User "pi" Admin-Rechte hat, ist es keine gute Idee, diesen Account auch für die Nutzer(innen) zu nutzen.

    Der "Arbeitsuser"

    Daher wird ein neuer User ohne weitreichende Rechte (Hier als Beispiel: "anwender") angelegt:

    Code
    adduser anwender

    Danach mittels "sudo mc" folgende Dateien und Ordner nach "/home/anwender" kopieren:

    Auto-Anwendung

    In der letzten Zeile wird der Autostart des Chromium eingetragen.

    Code
    sudo vi /home/anwender/.config/lxsession/LXDE-pi/autostart
    Code
    @xset s off
    @xset -dpms
    @xset s noblank
    @lxpanel --profile LXDE-pi
    @chromium-browser http://webserver/Seite1.html http://webserver/Seite2.html

    Hier wird der Browser Chromium mit 2 verschiedenen Seiten geöffnet, hier müssen die Webadressen noch eingetragen werden.
    Der Bildschirmschoner ist jetzt ausgeschaltet.

    Rechte korrigieren:

    Die Rechte auf den Inhalt des Verzeichnisses "/home/anwender" dem User "anwender" übergeben:

    Code
    sudo chown -R anwender.anwender /home/anwender

    Autologin

    Hier ist nun der 2.Teil des Autologins. Der User "pi" wird nun durch den User "anwender" ersetzt.
    Dieser User hat keine Rechte um im System irgendetwas ändern zu können, er kann nur in seinem Homeverzeichnis etwas ändern.
    In der Datei

    Code
    /etc/systemd/system/autologin@.service"

    die Zeile:

    Code
    ExecStart=-/sbin/agetty --autologin pi --noclear %I $TERM

    in

    Code
    ExecStart=-/sbin/agetty --autologin anwender --noclear %I $TERM

    ändern. Ab jetzt sollte beim nächsten (re)boot der Raspberry als User "anwender" mit der Webanwendung starten.

    User-Wechsel

    Um wieder als User "pi" arbeiten zu können muss man mit den Tasten Strg+Alt+Zurück (Ctrl+Alt+Backspace) diese Session beenden
    und kann sich dann über den Login-Bildschirm normal als "pi" anmelden.

    Das Klonen des Systems

    Dieses Image kann nun zum Klonen verwendet werden, allerdings sollte man sich noch ein paar Gedanken über Sicherheitsupdates machen.
    Ein paar Gedanken dazu finden sich im letzten Abschnitt (Sicherheitsupdates mit unattended-upgrades).
    Danach fährt man den Raspberry mit "sudo halt" herunter und entnimmt die SD-Karte.

    Device ermitteln

    Auf einem anderen Linux-Rechner wird die SD-Karte eingelegt und erst einmal das Device ermittelt.
    Dies ist sehr wichtig, denn wenn man das falsche Device erwischt, kann im schlimmsten Fall die Festplatte gelöscht werden.
    Vorher (Hier auf einem Raspberry):

    Code
    lsblk
    NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    mmcblk0     179:0    0 29,7G  0 disk 
    ├─mmcblk0p1 179:1    0 43,8M  0 part /boot
    └─mmcblk0p2 179:2    0 29,7G  0 part /

    Nachher:

    Code
    lsblk
    NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda           8:0    1  3,8G  0 disk 
    ├─sda1        8:1    1   50M  0 part 
    └─sda2        8:2    1  3,7G  0 part 
    mmcblk0     179:0    0 29,7G  0 disk 
    ├─mmcblk0p1 179:1    0 43,8M  0 part /boot
    └─mmcblk0p2 179:2    0 29,7G  0 part /

    Man sieht, das hier ein neues Device gefunden wurde. Hier handelt es sich dabei um einen USB-Cardreader mit eingelegter SD-Karte.
    Das Image wird nur von der kompletten SD-Karte kopiert, hier ist es "/dev/sda". "sda1" und "sda2" sind die Partitionen.
    Hinweis: Dies ist nur ein Beispiel, das kann auf einem anderen Rechner vollkommen anders aussehen!

    Die SD-Karte auf den Rechner kopieren

    Das Device ist in diesem Fall "/dev/sda" und der Inhalt der SD-Karte wird ins Homeverzeichnis kopiert:

    Code
    sudo dd if=/dev/sda of=~/20190303_Arbeitsterminal.img

    oder mit Anzeige (dcfldd muss eventl. erst installiert werden)

    Code
    sudo dcfldd if=/dev/sda of=~/20190303_Arbeitsterminal.img

    Wenn das erfogreich war, sollte die letzte Ausgabe etwa so aussehen:

    Code
    122848+0 records in
    122848+0 records out

    Und im Homeverzeichnis sollte sich jetzt diese Datei befinden:

    Code
    -rw-r--r--  1 root root 4025483264 Mär  3 22:37 20190303_Arbeitsterminal.img

    Das Image verkleinern

    Das Ziel dieser Maßnahme ist zum einen die Kopierzeit zu verkürzen und zum anderen sind SD-Karten produktionsbedingt nicht immer gleich gross.
    Das könnte beim kopieren auf einer "gleichen" SD-Karte (die vielleicht nur ein paar Sektoren kleiner ist) zu Fehlern führen.
    Außerdem läßt sich auf diese Weise ein Image von z.B. einer 16 GByte-Karte auf eine 8 GByte-Karte umkopieren, wenn die Größe passt.
    Auf der Seite https://github.com/Drewsif/PiShrink/ befindet sich ein Script, mit dem sich das Image (unter Linux) einfach verkleinern läßt:

    Code
    wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh

    Dann ausführbar machen:

    Code
    chmod +x pishrink.sh

    Jetzt kann man das Image verkleinern:

    Code
    sudo ./pishrink.sh 20190303_Arbeitsterminal.img 20190303_Arbeitsterminal_shrink.img

    Die Ausgabe sollte etwa so aussehen:

    Hier wurde zum Auslesen und Shrinken ein Raspberry benutzt. Das Ergebnis sieht dann etwa so aus:

    Code
    -rw-r--r--  1 root root 4025483264 Mär  3 22:37 20190303_Arbeitsterminal.img
    -rw-r--r--  1 root root 3641258496 Mär  3 22:48 20190303_Arbeitsterminal_shrink.img

    Beim Starten des Klones wird das Dateisystem automatisch wieder auf die maximale Grösse der SD-Karte ausgedehnt.

    Das Zurückspielen des Images auf die SD-Karte

    Die neue SD-Karte braucht/sollte vorher nicht formatiert werden, die nachfolgende Prozedur überschreibt sowieso alles wieder.
    Erstmal mit lsblk (siehe Abschnitt "Device ermitteln") das Ziel überprüfen (hier wieder /dev/sda), und dann mit:

    Code
    sudo dd if=20190303_Arbeitsterminal_shrink.img of=/dev/sda

    oder mit Anzeige

    Code
    sudo dcfldd if=20190303_Arbeitsterminal_shrink.img of=/dev/sda

    auf die Karte schreiben.
    Nochmal die Warnung: Wer hier das falsche Device angibt löscht seine Platte unwiderruflich. Alle Daten sind definitiv weg!

    Den Klone in Betrieb nehmen

    Die SD-Karte in den Raspberry einsetzen und einschalten.
    Der Raspberry erweitert jetzt sein Dateisystem auf die maximale Größe der SD-Karte und bootet dazu mehrmals.
    Anschließend meldet er sich automatisch als User "anwender" an und startet den Browser mit der vorgegebenen Webseite(n).
    Nun bleiben noch 2(3) Schritte um den Klone produktiv einsetzen zu können, er braucht zuerst einen eigenen Hostnamen.
    Daher muss an 2 Stellen das System noch angepasst werden, dazu gibt es 2 Möglichkeiten:

    • Man kann die geklonten Karten vor dem ersten Start mit einem anderen Linuxrechner ändern wenn man die SD-Karte dort einsteckt:
    Code
    sudo vi /media/"Username"/rootfs/etc/hostname
    terminal01

    und

    Code
    sudo vi /media/"Username"/rootfs/etc/hosts
    127.0.1.1       terminal01

    Vor dem Entnehmen der SD-Karte muss man die Partitionen wieder aushängen:

    Code
    sudo umount /media/"Username"/rootfs/
    sudo umount /media/"Username"/boot/

    Windows ist dazu nicht geeignet, weil es Linux-Partitionen nicht erkennt.

    • Oder auf den bereits laufenden Raspberry:

    Dazu muss man diese Session mit Strg+Alt+Zurück (Ctrl+Alt+Backspace) beenden und sich als User "pi" wieder einloggen.

    Code
    sudo vi /etc/hostname
    terminal01

    und

    Code
    sudo vi /etc/hosts
    127.0.1.1       terminal01

    Das war fast alles, aber da der Klone mit Sicherheit bereits veraltet ist, sollte man ihn als letzten Schritt noch updaten/upgraden:

    Code
    sudo apt update && sudo apt upgrade -y

    Jetzt kann das Terminal (nach einen reboot) endgültig in Betrieb genommen werden.

    Was bleibt noch zu tun?

    Die üblichen Admin-Aufgaben:
    - Etwa wöchentlich ein Update durchzuführen:

    • Das kann man direkt am Terminal als User "pi" mit "sudo apt update && sudo apt upgrade -y" erledigen, man stört dann aber den User bei der Arbeit.
    • Oder sich per ssh auf den Rechner einloggen mit "ssh pi@terminal01", das bemerkt der User in der Regel nicht.
    • Oder mit Putty, auch das bermerkt der User meistens nicht.
    • Oder mit unattended-upgrades, das automatisch einmal am Tag (nur) nach Sicherheitsupdates sucht und falls vorhanden diese installiert.

    Anders als bei Microsoft sind bei Linux Updates sofort verfügbar wenn sie fertig sind.
    Außerdem sollte man jeden neuen Anwender darauf hinweisen, das der Rechner zu Feierabend mittels "Shutdown" herunterzufahren ist,
    weil es sein könnte, das nicht nur die SD-Karte ziemlich ungehalten darauf reagiert, sondern dann auch der Vorgesetzte.

    Sicherheitsupdates mit unattended-upgrades

    Auf der Webseite https://www.elektronik-kompendium.de/sites/raspberry-pi/2002101.htm befindet sich eine sehr gute Anleitung.
    Man sollte sich aber für so eine Lösung entscheiden bevor man die Karte klont, alle Terminals nachzurüsten ist doch etwas mühsam.

    Eigenes Logo beim Booten

    Wenn man den Splash Screen eingeschaltet hat, erscheint eine Grafik, mit Infos über das eingesetzte Raspian.
    Man kann diesen Bildschirm aber duch eine eigene Grafik ersetzen.
    Interessant vieleicht für ein Firmenlogo oder zu verschleiern, das es sich um einen Raspberry handelt.
    Diese Grafik befindet sich im Verzeichnis "/usr/share/plymouth/themes/pix/":

    Code
    /usr/share/plymouth/themes/pix $ ll
    insgesamt 312
    -rw-r--r-- 1 root root  33938 Apr 14 17:46 hal9000g.jpg
    -rw-r--r-- 1 root root 116605 Apr 14 17:50 hal9000.png
    -rw-r--r-- 1 root root    187 Jan 31 10:25 pix.plymouth
    -rw-r--r-- 1 root root   1286 Jan 31 10:25 pix.script
    -rw-r--r-- 1 root root  33396 Apr  5 14:05 splash_ori.png
    -rw-r--r-- 1 root root 116605 Apr 14 17:51 splash.png

    Hier wurde mit:

    Code
    sudo mv splash.png splash_ori.png

    die Original-Datei gesichert und durch

    Code
    cp hal9000.png splash.png

    mit einer neuen Datei ersetzt. Wichtig ist, das das neue Bild png-Format hat.
    Diese png-Datei wurde mit dem Bildbetrachter "GPicView" von Raspian mittels "Datei speichern unter" aus dem JPEG-Bild erzeugt.
    Allerdings wird es bei jedem Upgrade von "rpd-plym-splash" ersetzt, das geschieht sobald Raspberry.org ein neues Release herausbringt.

    Falls man sich für die Textversion beim Booten entscheidet, wird man die "Himbeeren" los, indem man "logo.nologo" an die Zeile unter "/boot/cmdline.txt" anfügt.

    Dazu noch eine Warnung: Bearbeiten Sie niemals eine Datei mit dem Windows-Notepad.
    Installieren Sie sich z.B. Notepad++ oder Geany und stellen Sie vorher die Zeilenenden auf "Unix" um.

    Edit: Vorschläge von@hyle eingepflegt.

    Edit_?: Warum findet man Fehler immer erst dann wenn man den Artikel veröffentlicht hat?

  • [Tutorial] Arbeitsterminals mit dem Raspberry (Stretch 11/2018)? Schau mal ob du hier fündig wirst!

  • Toller Beitrag, danke für die gute Erläuterung.

    Eine Frage:

    Gibt es eine Möglichkeit Updates auf alle Pis gleichzeitig zu spielen, denn du willst ja nicht zu jedem Pi Rennen und Updates manuell fahren?

    Bzw auf dem master Pi Updates machen und dann die sd Karte klonen..

    Wenn's brennt 112 hilft weiter!

    Einmal editiert, zuletzt von raspbastler (19. April 2019 um 13:16)

  • Gibt es eine Möglichkeit Updates auf alle Pis gleichzeitig zu spielen, denn du willst ja nicht zu jedem Pi Rennen und Updates manuell fahren?

    Siehe Abschnitt: Was bleibt noch zu tun?

    Bzw auf dem master Pi Updates machen und dann die sd Karte klönen..

    Du meintest wohl klonen ;)

    Bevor Du die Karte shrinkst, kannst Du alle einstellen was Du willst.

    MfG

    Jürgen

    • Offizieller Beitrag

    Hallo Jürgen Böhm,

    mir sind nur zwei kleine Dinge aufgefallen.

    Update

    Jetzt wird das System mit der neusten Software upgedatet, das kann etwas länger dauern.
    Dann mit "Finish" raspi-config verlassen.

    Kann sein das es aktuell anders ist, aber das Update in raspi-config bezieht sich imho nur auf raspi-config-Skript selbst und nicht auf das System.

    Und

    sudo apt update ; sudo apt upgrade -y

    hier würde ich && als Operator verwenden, da damit upgrade nur ausgeführt wird, wenn update fehlerfrei durchlief. ;)

  • Ich würde es begrüssen, wenn die Kernel Version und Debian/Stretch Variante der erstellten Master SD irgendwie verdeutlicht wird (z.B. mit einem Datum im Titel).

    Das erspart Rückfragen, warum die Anleitung nicht mit Wheezy oder Buster funktioniert.

    Sonst ist es ein hervorragende C&P Tut.

    Servus !

    RTFM = Read The Factory Manual, oder so

  • Ich würde es begrüssen, wenn die Kernel Version und Debian/Stretch Variante der erstellten Master SD irgendwie verdeutlicht wird

    Als erstes wird "Raspian Stretch with Desktop" auf die SD-Karte kopiert und gestartet.

    Okay, das Datum habe ich jetzt nachgetragen.

    MfG

    Jürgen

  • sudo chown -R anwender.anwender /home/anwender

    Der Punkt zwischen anwender und anwender ist sicherlich ein Tippfehler.

    Anders als bei Microsoft sind bei Linux Updates sofort verfügbar wenn sie fertig sind.

    Das ist meiner Erfahrung nach fast immer der Fall, aber leider nicht immer. Zumindest ein Kernelupdate benötigt ein Neustart. Ein "paar" GUI Elemente (Konfig) ebenso. Da können ggf. Benutzeränderungen ins Nirvana gehen.

  • Der Punkt zwischen anwender und anwender ist sicherlich ein Tippfehler.

    Funktioniert bei mir schon mindestens seit 2 Jahrzehnten so:

    Code
    $ sudo touch test
    $ ls -l test
    -rw-r--r-- 1 root root 0 Apr 19 19:34 test
    $ sudo chown juergen.juergen test
    $ ls -l test
    -rw-r--r-- 1 juergen juergen 0 Apr 19 19:34 test

    Da können ggf. Benutzeränderungen ins Nirvana gehen.

    Es ist ein Arbeitsterminal, da sollte es keine Benutzeränderungen geben.

    Hier geht es lediglich darum, Arbeitsanweisungen und Aufträge darzustellen, die bisher auf Papier gedruckt wurden.

    Der Anwender meldet darüber auch seine Aufträge ab.

    Im Endeffekt läuft alles über einen Webserver mit Datenbank, es wird nichts auf dem Raspberry gespeichert.

    Ein mitdenkender Admin läßt Updates erst nach Feierabend oder am Wochenende einspielen, so die Theorie.

    Ich hatte mir schon ein paar Gedanken im Abschnitt: "Was bleibt noch zu tun?" gemacht, aber ich habe den Verdacht,

    das derjenige, der das pflegen soll, diese Bedienungsanleitung garnicht soweit gelesen hat und vermutlich auch nicht wird.

    Ich bin jedenfalls aus der Nummer raus ;)

    MfG

    Jürgen

    Edit: Fipthehler

  • Interessant. Mit "." geht es tatsächlich und auch "$". In der chown Anleitung steht halt nur ":".

    http://www.gnu.org/software/coreu…invocation.html:

  • Some older scripts may still use ‘.’ in place of the ‘:’ separator.

    Es sollte eher heissen: "Some older User may still use '.'

    Ich werde wohl langsam alt ...

    MfG

    Jürgen

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!