Fast 2 Jahre Raspberry, Salto mortale zwischen Begeisterung und Entsetzen – ein Kommentar

  • Vor fast zwei Jahren habe ich mir den ersten Pi gekauft, eine moderne Nutzung meiner Musiksammlung sollte her. Es wurde dann ein Pi 2 mit einem Mediencenter drauf, CDs wurden zu hunderten digitalisiert und als MP3 auf dem eingelegten Datenträger abgelegt. Zeitgleich habe ich mir ein gebrauchtes Tablet geholt, damit ich mit Yatse die Musikdateien abspielen lassen kann. Das kleine Projekt hat einige Stunden gekostet und auch Spaß gemacht. Der eingeschlagene Weg hat sich als richtig erwiesen.

    Nachdem ich da nun etwas Blut geleckt habe, kam das nächste Projekt: ich wollte „irgendwie“ meinen Windows-PC zu hause von der Ferne aus einschalten können, ohne dass ich den PC „am Internet hängen“ habe. Eine mögliche Lösung wurde auf Basis des Pi angedacht und realisiert.

    Bei Beginn meines kleinen Projektes habe ich mich an ein Gespräch erinnert, dass ich Ende der 1990er Jahre mit meinem Chef geführt habe, es ging um Linux. Er vertrat die Ansicht, dass Linux die Zukunft gehört und dass dieses Betriebssystem die Computerwelt auf links drehen wird, die etablierten Konzerne werden sich noch umschauen. Meine Kette an Gegenargumenten war beliebig lange und (aus heutiger Sicht) dennoch nichtzutreffend. Beruflich hatte ich 2013 erstmals Kontakt mit Linux, davor waren es die Windows dieser Welt, DEC OpenVMS war genauso dabei wie OS/2 und AIX und dann noch Solaris. „Kennst Du eines – kennst Du alle“, so mein Gedanke und dann kam Raspian. Ich wollte auch mal wieder in C Programmieren auch wenn der letzte Compilerstart im letzten Jahrtausend stattfand. Also wurde der zweite Pi gekauft und los ging‘s.

    Was ich dabei an Erfahrungen gesammelt habe, ließ mich immer wieder positiv erstaunen und vor Begeisterung sehr weit in meinem Schreibtischstuhl zurücklehnen. Ich hätte nicht gedacht, dass ein freies Betriebssystem so viele Perlen enthalten kann, ein paar Beispiele dafür mögen genügen. Der gcc Compiler & Linker ist für mich ein rattenscharfes Werkzeug, Geany als IDE hat mir den Einstieg erleichtert. Und diese IDE kann durchaus mit dem mithalten, was ich Ende des letzten Jahrtausends als IDE für OS/2-C/C++ erlebt habe (oder genauer: an was ich mich erinnern kann, hihi). Die GUI zum Raspian (also der Desktop) ist selbsterklärend und funktioniert für mich richtig klasse, mehr brauche ich nicht auf meinem Spiel- und Bastelrechner. Mit etwas Basiswissen über Netzwerke kann ich den Pi mit meinem Windows-PC kommunizieren lassen, Zugriff per RDP funktioniert schnell und zuverlässig. Hilfe gibt es nahezu unbegrenzt – nicht nur die Menge betreffend.

    Es gab bisher auch einige Momente des blanken Entsetzens und der Enttäuschung. Das konsequente Verweisen auf man-pages hat mich gelegentlich zur Weißglut getrieben. Im 21. Jahrhundert sollte Einsicht bestehen, dass Dokumentationen ohne Bilder/Grafiken nicht mehr zeitgemäß sind. Es erscheint, dass die Erkenntnis „Bilder sagen mehr als Worte“ nicht überall angekommen ist. Warum gibt es kein Wiki, dass im OS fest eingebaut ist? Nahezu jedes Programm hat eine eigene Form, wie die Einstellungen (ini-Dateien) gespeichert werden. Bitter die Erkenntnis, dass ein Standard sich vermissen lässt. In Gedanken klopfe ich Bill Gates auf die Schultern, dass er mit der Registry einen anderen Weg eingeschlagen hat. Schön, dass die # der frei verfügbaren Pakete täglich wächst, unschön, dass es fast alles Kommandozeilenprogramme sind, die ausgeliefert werden. Die Nutzung einer GUI ist nicht nur Newstyle der Generation post Golf sondern bietet auch den Vorteil, dass die allermeisten Programme dadurch selbst erklärend sind. Von den allermeisten Kommandozeilenprogrammen kann ich das leider nicht behaupten. Zu freien Programmen liegt meistens auch der Quellcode nach kurzer Suche vor. Das ist eine prima Sache, wenn man sich für’s Programmieren interessiert; mir erscheint es so, dass es oft genug erforderlich ist, sich durch Quelltexte zu wühlen, weil eine Dokumentation, die den Namen verdient, nicht verfügbar ist. Da erinnere ich mich an Zeiten, als Apple noch Programme anderer Hersteller freigegeben hat, weil sie sich dem eigenen Standard an Qualität verpflichtet gefühlt haben. Es ist eine klasse Idee, dass man Raspian in jeglicher Hinsicht anpassen kann und es sehr granulare Möglichkeiten bietet, es für seine Bedürfnisse zu tunen. Unschön wird es nur, wenn es irgendwo klemmt und man von 100ste ins 1000ste schliddert.

    Nun, nach rund 20 Jahren Linux hätte ich eigentlich gedacht, dass die große Gemeinde deutlich weitergekommen ist. Wenn ich mich speziell beim Raspberry darauf entsinne, dass es ein Lern- und Ausbildungscomputer ist, dann komme ich zu einem ganz anderen Schluss: Was für ein bockstarkes Teil mit sehr hohem Spaßfaktor und der Möglichkeit, die eigene Lernkurve beliebig steil verlaufen zu lassen. Danke an die Macher und Danke an all diejenigen, die dazu beitragen, dass der Lernstoff nicht ausgeht! Und danke an alle, die helfen, sich einsetzen, ihre Zeit investieren und auch einem alten Hasen wir mir Tipps und Ratschläge geben können und wollen - haltet durch, es lohnt sich!

    Mein Github-Repository ist hier zu finden.

  • Ich bin zwar erst ein paar Monate dabei mit RPi3 und Linux, aber ein paar Sachen sind mir auch so ergangen/aufgefallen. Man-pages: Für den erfahrenen Anwender eine super Sache zum nachschlagen. Für unerfahrene kann es der Horror sein. Damit meine ich das die Anleitungen oft schwer zu verstehen sind und Optionen/Argumente gefühlt in die Hunderte gehen. Dann die Verweise auf themenbezogene Programme die man lesen muss. "Was wollte ich eigentlich noch wissen?". Ohne ausreichend Grundwissen helfen die man-pages oft nicht. Zum Nachschlagen aber wie gesagt gut.


    Kommandozeilenprogramme: Generell habe ich damit keine Probleme. Aber bei Linux gilt oft - warum einfach, wenn es auch schwierig/umständlich geht?! Diverse Standard Sachen können ruhig in eine GUI, welche ja dazu da ist dem Benutzer das Leben zu erleichtern. Mein subjektives Empfinden ist, das (immer noch) eine starke Fixierung auf die Shell besteht. Vielleicht ist aber auch das der Unterschied zu anderen Betriebssystemen die schon vor 30 Jahren auf GUI ausgelegt waren.


    Konfigurationsdateien: Sehr viele und richtig schön verstreut über das Dateisystem. Beim editieren gibt es da auch den Einen oder Anderen Stolperstein. Irgendwo gibt es eine grosse Datei wo die Hotkeys definiert sind. Da so was natürlich sehr unübersichtlich ist, wäre eine Standard GUI eigentlich Pflicht.


    Soweit ich das bisher überhaupt beurteilen kann, ist RPi und Raspbian im Grossen und Ganzen eine tolle Sache und man kann persönlich viel lernen. Manchmal sind es nur Kleinigkeiten die einem den Spass ein wenig nehmen. Die von peuler erwähnte Lernkurve kann ich nur bestätigen. Also durchhalten scheint ein guter Rat zu sein, wenn man gewillt ist sich drauf einzulassen. Ich kann es noch nicht beurteilen, da ich erst ein paar Kapitel gelesen habe, aber das Debian Admin Handbuch zu lesen ist bestimmt nicht falsch. Aber auch da gilt, man kann nicht alles 1zu1 übernehmen und einiges ist nicht mehr aktuell.

  • Nahezu jedes Programm hat eine eigene Form, wie die Einstellungen (ini-Dateien) gespeichert werden. Bitter die Erkenntnis, dass ein Standard sich vermissen lässt. In Gedanken klopfe ich Bill Gates auf die Schultern, dass er mit der Registry einen anderen Weg eingeschlagen hat.

    Konfigurationsdateien: Sehr viele und richtig schön verstreut über das Dateisystem. Beim editieren gibt es da auch den Einen oder Anderen Stolperstein. Irgendwo gibt es eine grosse Datei wo die Hotkeys definiert sind. Da so was natürlich sehr unübersichtlich ist, wäre eine Standard GUI eigentlich Pflicht.

    Na hört mal. IMO ist die Windows-Registry einer der intransparentesten Teile eines OS, dem ich je begegnet bin... Standards? Für Datentypen vielleicht. Aber sicher nicht, wo gespeichert wird. BTW, es machen bei weitem nicht alle Windows-Programme Gebrauch von der Registry. Schaut mal in den AppData Ordner... :stumm:

    Und wie sichert man sowas wie die Registry? Mit Copy&Paste von Dateien bestimmt nicht. Na Danke.

    Mein subjektives Empfinden ist, das (immer noch) eine starke Fixierung auf die Shell besteht. Vielleicht ist aber auch das der Unterschied zu anderen Betriebssystemen die schon vor 30 Jahren auf GUI ausgelegt waren.

    IMO richtig. Aber nichts negatives. Mit etwas Erfahrung und Übung ist man bei vielen Dingen in einer Shell unglaublich viel schneller unterwegs, als mit graphischen Programmen.

    Im 21. Jahrhundert sollte Einsicht bestehen, dass Dokumentationen ohne Bilder/Grafiken nicht mehr zeitgemäß sind. Es erscheint, dass die Erkenntnis „Bilder sagen mehr als Worte“ nicht überall angekommen ist. Warum gibt es kein Wiki, dass im OS fest eingebaut ist?

    Wenn mir eine manpage kurz und knackig die Verwendung diverser Parameter erklären kann, wozu brauche ich da Bilder? :conf:

    Oder besser gleich ein "Tutorial"-Video :baeh2:

    bietet auch den Vorteil, dass die allermeisten Programme dadurch selbst erklärend sind.

    :rofl:

    Ich behaupte mal, ich verstehe was von UX. Es gibt bescheuerte UX. Nur mal so.

    mir erscheint es so, dass es oft genug erforderlich ist, sich durch Quelltexte zu wühlen, weil eine Dokumentation, die den Namen verdient, nicht verfügbar ist.

    Kannst du konkrete Beispiele nennen?

  • Hallo,


    Quote

    Mein subjektives Empfinden ist, das (immer noch) eine starke Fixierung auf die Shell besteht. Vielleicht ist aber auch das der Unterschied zu anderen Betriebssystemen die schon vor 30 Jahren auf GUI ausgelegt waren.

    Wobei eine Software Schmiede aus Remond ja vor ein paar Jahren auch auf den Trichter gekommen ist, dass die Shell doch ganz cool ist und für Windows ein Produkt namens PowerShell eingeführt hat und seitdem weiter entwickelt. Dei PowerShell gibt's inzwischen übrigens auch für Linux :)


    Quote


    Warum gibt es kein Wiki, dass im OS fest eingebaut ist?

    Das macht doch überhaupt keine Sinn, also rein von der Grundidee. Ein Wiki dient dazu, dass möglichst viele Nutzer kollaborativ ihr wissen zusammen werden, so dass alle davon profitieren. Wenn es fest im OS in deinem Computer eingebaut wäre, dann könnte keiner beitragen - was wenig Sinn macht.


    Gruß, noisefloor

  • Linus:

    Die Windows Registry hatte ich zwar gar nicht erwähnt und weiss darüber sehr wenig (ich benutze kein Windows), aber das die eher schlecht als recht ist, da bin ich bei dir. :) Das Konfigurationsdateien in Textform vorliegen ist i.d.R. kein Problem, oder besser als Binary, oder sonst wo versteckt. Der Vorteils ist halt das man Änderungen auch ohne GUI vornehmen kann.


    Wie gesagt, ich habe kein Problem mit der Shell und deren Benutzung, aber manchmal frage ich mich (bisher) warum muss ich für diese Aufgabe diese schon wieder benutzen. Das ist natürlich aus der Sicht eines Anfängers und die Wahrnehmung von erfahrenen Benutzern ist da eine andere.

    Ja noisefloor, ich kenne auch nur die Eingabeaufforderung von Windows. Aber ich meine man kann da mit einem Befehl eine Shell öffnen. Zumindestens unter XP. Aber egal, das ist Windows. ;)


    Ich bin auch eher ein Freund von gültigen Referenz Anleitungen in Textform. Bei den Manpages fehlt für Anfänger manchmal nur (mehr) Beispielaufrufe, oder eine bessere Beschreibung um zum Erfolg zu kommen. Ich hatte schon den Fall, das ich mit der Manpage nicht weiter kam aber mit ubuntuuser wiki lief es dann. Also man <programm> alleine wäre eine Sackgasse gewesen. Erfahrene Benutzer haben das Problem wohl eher nicht, aber für Anfänger ist es "unendlich" schwieriger.

  • Zum Thema "Quelltexte durchwühlen": Github ist voll von Programmen, die keine Dokumentation enthalten und nur zu kapieren sind, wenn man den Sourcecode anschaut. Konkretes Beispiel, in das ich viele Stunden gesteckt habe ist telebot.

    Ein anderes negatives Beispiel ist die Api zu Telegram-Bots. Die Doku dazu ist vom Ansatz her richtig aber leider im Detail so schlecht, dass ich nur durch das Anschauen von Beispielsourcen dahinter gekommen bin, wie sie funktioniert.


    Zum Thema "Wiki in das OS einbauen": Richtig ist, dass ein Wiki von den Beiträgen aller User profitiert und die Vorteile von Verlinkung, Einbau von Dateien gängiger Formate wie Bilder und Videos erlaubt und vieles mehr. Warum sollte es nicht möglich sein, dass in dem OS ein Wiki-Server eingebaut ist (oder so etwas ähnliches), in den dann die Beiträge mit dem Installieren von Pakten eingebaut werden? Das ist ja nur ein Gedanke, wie man die reinen textbasierten Lösungen wie die man-Pages ergänzen kann.

    Naürlich kann man auch auf PDF ausweichen kann (habe ich zum Beispiel gemacht) oder eine HTML-Seite bereitstellen, die ich im Browser anschauen kann.


    Zum Thema Powershell: Richtig ist, dass dieses Tool die klassische Shell unter Windows ergänzt. Ich kenne aber niemanden, der diese nutzt. Für mich ist Windows mein Arbeitspferd und das wird es auch bleiben. Aber selbst nach rund 30 Jahren intensiver Windows-Nutzung sowohl privat als auch beruflich habe ich keinen Bedarf, die Powershell kennenzulernen.



    Abschließend sei erwähnt, dass ich bewusst "Kommentar" in den Betreff eingebaut habe: damit sollte kenntlich gemacht werden, dass es sich hier nur um einen Auszug aus einem Gesamteindruck handelt und eben keine vollständige Abhandlung mit akademischen Anspruch handelt.

    Mein Github-Repository ist hier zu finden.

  • Ein anderes negatives Beispiel ist die Api zu Telegram-Bots.

    Sorry, aber das liegt wohl an dir! Wenn du das Telegram HTTP-API meinst, das ist nun wirklich bis ins letzte Detail dokumentiert. Jeder mögliche Parameter, JSON Rückgaben etc.

    Zu der C-Bibliothek kann ich nichts sagen, Telegram Bots habe ich bisher nur in Python realisiert (mit eigenem API-Wrapper, weil telepot und co. meine Bedürfnisse diesbezüglich bei weitem übersteigen...).

  • Sorry, aber das liegt wohl an dir! Wenn du das Telegram HTTP-API meinst, das ist nun wirklich bis ins letzte Detail dokumentiert. Jeder mögliche Parameter, JSON Rückgaben etc.


    Ich schließe nicht aus, dass mir Grundlagen fehlen, die andere Personen haben und dass ich deswegen mit der Doku nicht klar gekommen bin. Habe auch aus anderer Ecke mitbekommen, dass die Doku nicht die tollste ist. Damit ist das Thema auch für mich dann mal durch.

    Mein Github-Repository ist hier zu finden.

  • Schöner, subjektiver Beitrag peuler!

    Es ist ein schöner Beispiel des stetigen Lernprozesses und dem Hin- und Her beim persönlichen Nutzerverhalten, vor allem wenn man (zumeist duch Windows) vorgeprägt ist. Ich hatte aber ähnliche Eindrücke nach meiner anfänglichen Linux-Zeit, allerdings haben sich diese nun etwas verändert:

    Bash: Es gibt in meinen Augen kein ausgiebiges Pro oder Contra. Es kommt halt ganz stark darauf an, was ich mit meinem System veranstalte. Wenn ich nur Musik höre, dann reichen mir ein paar Knöpfe und ggf. soetwas wie eine Library. Das funktioniert natürlich sehr schön in einer brauchbaren GUI.

    Wenn es allerdings in Richtung Administration geht, ist die Bash bspw. ein weitaus mächtigeres und vor allem schnelleres Tool als irgendwelche Fensteranwendungen. Klar, ist hier auch eine gewisse Einstiegshürde vorhanden. Gerade die Tatsache, dass Linux seine Basis-Tools gerne klein hält ist gleichermaßen Fluch und Segen und Tools wie grep oder dd erschließen sich nicht direkt bzw. es ergibt sich eine weitere Komplexität durch die Kombinationsmöglichkeit durch Verkettung der Aufrufe.


    Konfigurationsdateien: Ich bin ein sehr großer Freund von Konfigurationsdateien und mag den angesprochenen Linux-Ansatz. Allein die Tatsache, dass ich zumeist menschenlesbare (oder zumindest eindeutig kodierte-) Konfigurationsdateien vorliegen habe, macht es möglich diese Dateien zu Versionieren und somit eine zentrale Stelle für meine allgemeinen Konfigurationen zu haben. Ich kann absolut nachvollziehen, dass es nervig ist, die einzelnen Konfigurationsdateien sich auf diverse Pfade im System verteilen. Ich hatte daher mal angefangen ein Repo anzulegen, welches die einzelnen Konfigurationen beinhaltet und zudem ein Skript, dass diese im System platziert (siehe: dotfiles Repository). Das hat gerade im Umfeld von Raspberry und Co. den Vorteil, dass man relativ fix auf mehreren Rechnern allein schon die gewohnten Aliase nutzen kann und das mit relativ wenig Aufwand (Siehe Setup meiner Windows Prefs: Prefs für cmd).


    OS-Dokumentation: Klar, war das mit dem Wiki bei dir ein erster Gedanke und ein Schnellschuss. Ich weiß allerdings auch nicht, ob heute überhaupt noch eine lokale Dokumentation für Nutzer in Form einer Wissensdatenbank noch sinnvoll ist. Letztendlich wird das Problem sowieso am Ende in die Suchmaschine des Vertrauens getippert und irgendwelche alten Beiträge aus Ubuntu-Foren oder von StackOverflow werden zur Lösungsfindung benutzt. manpages finde ich dagegen sehr gut. Gerade in der textbasierten Form hat dies den Vorteil, dass derselbe Inhalt auf diversen System gleichermaßen angezeigt wird und mittlerweile habe ich (abgesehen von den Androids) mehr Linux-Systeme hier laufen, die über keinen Monitor verfügen. Da würde also jede graphische Darstellung eher nerven, wenn ich gerade per SSH auf einen Rechner verbunden bin und eigentlich nur gerade wissen wollte, wie die Parameterreihenfolge des scp-Befehls lautet, ich aber die PDF im Terminal nicht öffnen kann - nur weil Screenshots von Bash-Eingaben das Verständnis verbessern sollen ;-). Generell habe ich aber den Eindruck, dass die Linux-Doku gut gepflegt und umfangreich ist und gerade durch die ganzen Raspis und IoT-Bewegungen kommen doch etliche neue Dokumenationsformen durch Videos und bebilderte Tutorials hinzu.


    3rd-Party-Doku: Die Doku zu Telegrambots oder oder anderen Bibliotheken hat nichts mit dem Betriebssystem zu tun und da ist jeder Anbieter selbst für verantwortlich ;-).


    Powershell: Mächtiges Tool, gerade bei .NET-Entwicklern sehr beliebt. Ich kenne daher viele Leute, die sie nutzen. Für Privatanwender gibt aber natürlich kaum Berührungspunkte im Alltag. Die sollte es bei den aktuellen großen Linux-Distributionen aber auch kaum geben im Bezug auf die Bash?!



    Nur mal so ein paar lose Gedanken für den Dialog :)

    .NET-, Unity3D-, Web-Dev.
    Mikrocomputer-Hobbyist.

  • Zu Post # 09:

    Die von mir kritisierten Eigenschaften des Linux haben auch ihre positiven Seiten, die ich auch sehe und nachvollziehen kann. Die Linux-Gemeinde hat es ja selbst in der Hand, daran etwas zu ändern und es gibt viele Gründe, warum das System so aussieht wie es ist - und eben auch andere Systeme so aussehen, wie sie sind.

    Ich hatte nicht vor, ein Bashing zu starten sondern wollte einfach nur einen persönlichen Kommentar loswerden um Vorhandenes in Frage zu stellen mit dem Ziel, es zu verbessern. Das wurde hier mehrfach auch so erkannt, was ich prima finde.


    Quasi als mein persönliches Schlusswort habe ich dieses: Das beste System ist für mich nicht dasjenige, dass technisch allen anderen in dieser oder jener Hinsicht überlegen ist. Für mich ist das beste System dasjenige, mit dem ich mich am besten auskenne.

    Mein Github-Repository ist hier zu finden.

  • Windows (home) und Linux am Pi (Bastel- und Lernobjekt) sind so verschieden, dass sie eigentlich grundsätzlich nicht vergleichbar sind.


    Die massiv abgespeckte Pi - Distribution hat keine How-To's (https://www.tldp.org/HOWTO/HOWTO-INDEX/howtos.html) vorinstalliert und Wikis sind meistens nur über die Web-Page des Programmpaketes abrufbar (in der Man Page ganz zum Schluss), oder in Wikipedia selbst enthalten.


    Klar, bei der Userbility gilt, was nichts kostet, ist nichts Wert.



    Servus !

    RTFM = Read The Factory Manual, oder so