Unterrichts- und Lernmaterial für Mikrocontroller
Unterrichts- und Lernmaterial fürMikrocontroller

Die Benutzeroberfläche des Raspberry Pi unter LINUX ist für alle, die von Windows kommen, zuerst einmal gewöhnungsbedürftig. Nach der Installation des Betriebssystems (Einstieg mit Raspberry Pi) beginnen wir jetzt die neue Benutzeroberfläche zu erkunden. In diesem Abschnitt kümmern wir uns um die Arbeit im Terminal.

Abbildung 1 - Die Benutzeroberfläche unter LINUX bei Neustart des Raspberry Pi. Ein Terminalfenster ist geöffnet.

1 - Das Terminal

Ein Programm, unter dem die administrativen Aufgaben durch Kommandos im Textmodus erledigt werden, heißt unter LINUX Terminal. In der Vor-Windows Zeit, also vor über 30 Jahren, der Zeit der Commodore-, Apple- und Atari-Rechner, arbeitete man nur im Terminal.

Über ein Terminal hat ein Nutzer mit Hilfe von Kommandos unmittelbaren Kontakt und die Möglichkeit einer direkten Einflussnahme auf die Arbeitsweise eines Raspberry Pi (Raspi).  Die Kommandos lassen sich miteinander verbinden und zu sehr komplexen sogenannten Skripts zusammenfassen. Damit werden umfangreiche Aufgaben häufig sehr viel effizienter und besser als mit traditioneller Software erledigt. Ein Programm, unter dem die administrativen Aufgaben durch Kommandos im Textmodus erledigt werden, heißt unter LINUX Terminal.

In den folgenden Abschnitten wird gezeigt, wie man mit einem Terminal arbeitet.

2 - Shell Skript

Eine direkte Kommunikation mit dem Kern eines Betriebssystems ist für den normalen Anwender viel zu kompliziert, deshalb ist eine einfachere Benutzerschnittstelle als Vermittlungsstelle zwischen Betriebssystem-Kern und Oberfläche notwendig; diese Schnittstelle ist die sogenannte Shell. Eingegebene Kommandozeilen werden an die Shell übergeben, die das Betriebssystem veranlasst, diese Befehle auszuführen. Dabei überprüft die Shell vorher, ob die Eingabekommandos korrekt eingegeben wurden.

Mehrere Kommandos lassen sich in sogenannten ausführbaren Dateien (executables) zusammenfassen, die bezeichnet man als Shell-Skripte. Ein sehr einfaches Beispiel soll das zeigen.

Einfaches Shell-Skript ausführen
Material
  • 1x  Raspberry Pi (komplett mit Tastatur, Maus, Monitor, Internetanschluss)
  • 1x  Steckernetzteil
Aufgaben
  • Verbinde das Netzteil des Raspberrry Pi mit der Steckdose und starte das LINUX-Betriebssystem.
  • Klicke in der graphischen Oberfläche auf das Icon des Texteditors Leafpad.
  • Übertrage in den Editor das Programm r_gutenTag aus Abb. 1 und speichere es über Datei - Speichern unter ... im Verzeichnis /home/pi/Shell Skripte  ab.
  • Öffne in der Iconzeile das Programm LXTerminal und wechsle mit cd /home/pi/Shell Skripte in das Verzeichnis der soeben abgelegten Datei r_gutenTag.
  • Gib den Befehl chmod +x r_gutenTag ein und bestätige die Eingabe mit der Rücklauftaste.
  • Gib im Terminal anschließend den Befehl ./r_gutenTag ein und starte deinen ersten Shell Skript mit Hilfe der Eingabetaste. Bricht die Ausführung mit Strg-C ab.

Das Shell-Skript r_gutenTag

Abbildung 1 - Shell Skript r_gutenTag im Editor des Programms Leafpad

Eine neue angelegte Datei besitzt nicht die Eigenschaft, dass sie wie ein Programm gestartet werden darf, dass sie "ausführbar" ist. Diese Eigenschaft muss ihr erst durch den Anwender mitgegeben werden; er muss sie als ausführbare Datei kenntlich machen.

Dazu dient der Befehl chmod (change mode). Das Anhängsel +x (steht für executable) macht aus einer Datei eine ausführbare Datei.

 

Jede Datei und jedes Verzeichnis besitzt eine eigene Kennzeichnung darüber, was ein Nutzer mit dieser Datei oder dem Verzeichnis “anstellen” darf. Mit dem Kommando

  • chmod +x r_gutenTag

wird die Datei für den Nutzer ausführbar (executable). Sie lässt sich jetzt mit 

  • ./r_gutenTag

starten. Auf dem Bildschirm wird anschließend beliebig oft Guten Tag ausgegeben. Strg-C stoppt die Ausgabe im Terminal.

Abbildung 2 - Ausführung des Shell Skripts "r_gutenTag" im Terminalfenster. Vorher wurde in das Verzeichnis /home/pi/Shell\ Skripte der Datei "r_gutenTag" gewechselt.

3 - LXTerminal

Das Standard-Terminalprogramm auf dem Raspi heißt LXTerminal. Gestartet wird es über das Hauptmenü Menu - Zubehör - LXTerminal oder direkt über das entsprechende Icon in der Anwendungsstartleiste. Die Oberfläche des Terminals sieht ähnlich wie auf dem nebenstehenden Bild aus. Als Prompt sollte auf dem Bildschirm der Text erscheinen:

  • pi@raspberrypi:~ $
Abbildung 2 - Startbildschirm von LXTerminal. Der Cursorprompt ist hier verändert worden.

Im Prompt erscheint als erstes der Benutzername (hier: pi) und der Hostname (im Bild: RaPi2B, in der unveränderten Voreinstellung ist es raspberrypi).

Das Heimatverzeichnis des Nutzers pi ist

  • /home/pi

Wie man in ein bestimmtes Verzeichnis wechselt oder den Systemstatus einer Datei verändert, wird in Abschnitt 4 beschrieben.

4 - Dateien und Verzeichnisse

Mit Hilfe eines Terminalprogramms ist es sehr einfach, sich im Dateisystem des Raspi  zurechtzufinden.

  • Rufe das folgende Kommando auf: ls -la
Abbildung 3 - Der Listenbefehl ls-la

Im Terminalfenster sollte eine Auflistung von Dateien erscheinen, ähnlich wie in Abb. 3.

Das Kommando ls gibt den Inhalt des aktuellen Arbeitsverzeichnisses aus. Die angehängten Komponenten -la werden auch als „flag“ bezeichnet. Sie verändern die Wirkung des aktuellen Kommandos.

Das l steht für eine Listenausgabe des Arbeitsverzeichnisses, d.h. es werden die Dateigrößen, das Datum der letzten Änderung und Zugriffsrechte der Dateien ausgegeben, während das a alle Dateien, auch sogenannte Punktdateien, das sind Dateien die mit einem Punkt beginnen, anzeigt.

Punktdateien sind im allgemeinen Konfigurationsdateien von Programmen, die als einfache Textdateien durch Bearbeiten verändert werden können.

Ein Verzeichnis wechseln

Der Wechsel in ein anderes Verzeichnis erfolgt über das Kommando change Directory oder cd. Das Verzeichnis, zu dem man wechseln möchte, kann entweder absolut oder relativ angegeben werden.

Der Wechsel in das Verzeichnis Pictures erfolgt zum Beispiel entweder über

  • cd /home/pi/Pictures

oder

  • cd Pictures  (wenn man sich gerade im Heimatverzeichnis befindet).

Sonderzeichen

--------------------------------------------------------------------------------------

  • ~

ist ein Alias für das Heimatverzeichnis.

~/Pictures ist deshalb gleichbedeutend mit /home/pi/Pictures.

--------------------------------------------------------------------------------------

  • . sowie ..

sind Aliase für das aktuelle und das Elternverzeichnis.

Befindet man sich im Verzeichnis /home/pi/Pictures, führt cd .. ins Verzeichnis /home/pi.

--------------------------------------------------------------------------------------

  • TAB-Taste

Schon einmal benutzte Kommandos lassen sich besonders einfach aufrufen. Wenige Buchstaben reichen aus und die Tab-Taste erledigt den Rest.

Beispiel:

In einem Verzeichnis ist die Datei SehrLangerName abgelegt. Nach der Eingabe von S und drücken der Tab-Taste erscheinen alle Dateien, die mit S beginnen und sich im aktuellen Verzeichnis befinden.

----------------------------------------------------------------------------------------------

Einige Kommandos, die Einfluss auf den Systemstatus eines Programms haben, lassen sich nur mit root-Privilegien einsetzen. Mit dem Kommando sudo, dass einem Kommando vorangestellt wird, lassen sich diese systemverändernden Kommandos ausführen. Voraussetzung ist, dass man als Nutzer in der Liste der Nutzer (sudoers) geführt ist. 

5 - Die LINUX Nutzerverwaltung

Das Linux-System ist ein Multiuser-System. Mehrere Nutzer können den selben Computer gleichzeitig nutzen und nutzen dabei ihre eigenen Bereiche auf der Festplatte. Die meisten Nutzer dürfen viele Programme nutzen, Dateien speichern und bearbeiten und in ihrem Heimatverzeichnis ablegen. Dateien in fremden Ordnern dürfen Normalnutzer nicht bearbeiten. Einzige Ausnahme ist der superuser oder auch root. Er hat unbegrenzt Zugang zum Computer und kann fast alles tun.

Die Benutzerverwaltung unter Raspbian erfolgt über das Terminalprogramm LXTerminal. Der voreingestellte Nutzer heißt pi mit dem Passwort raspberry. Nutzer lassen sich hinzufügen und die Passwörter aller Nutzer lassen sich ändern.

 

Einen neuen Nutzer (User) anlegen

Mit dem Kommando adduser wird ein neuer Nutzer angelegt. Der Ablauf:

  • sudo adduser <name>

Passwortabfrage für den neuen Nutzer: freilassen

Das Heimatverzeichnis des neuen Nutzers liegt in /home/.

 

Ein Passwort ändern

Jeder Nutzer kann sein Passwort mit dem Kommando

  • passwd

im Terminalfenster ändern. Zuerst wird er nach dem alten Passwort gefragt, danach kann das neue eingegeben werden. Mit der Eingabetaste wird der Vorgang abgeschlossen. Es werden bei der Passworteingabe keine Zeichen angezeigt und der Cursor bewegt sich nicht von der Stelle. Wenn die Eingabe erfolgreich verlaufen ist, bestätigt der Raspi dies mit:

passwd: password updated successfully.

 

Passwörter anderer Nutzer ändern

Mit sudo-Berechtigung kann ein Nutzer auch Passwörter anderer Nutzer ändern. Dazu geht man wie folgt vor:

  • sudo passwd <user name>

Es folgt die Abfrage des neuen Passwortes und weitere optionale Einstellungen

 

Ein Passwort löschen

Mit

  • sudo passwd <user> -d

wird das Passwort eines Nutzers gelöscht.

6 - Software installieren, aktualisieren, löschen und suchen

Software aktualisieren

Apt verwaltet eine Liste von Softwarequellen auf dem Raspi in der Datei /etc/apt/sources.list. Vor der Installation einer Software sollte dieses Paket mit apt-get update auf den neuesten Stand gebracht werden.

  • sudo apt-get update

 

Ein Softwarepaket installieren

  • sudo apt-get install <name des Programmes> 

informiert den Nutzer über den benötigten Speicherplatz des Programm und erfragt eine Bestätigung der Installation; diese kann mit dem Flag y umgangen werden.

 

Bestehende Software upgraden

Sind Software-Updates vorhanden, dann lädt man die Updates über:

  • sudo apt-get update

Uund installiert sie dann mit

  • sudo apt-get upgrade

Sollen nur wenige Pakete aus dem Gesamtpaket upgegradet werden erfolgt dies mit:

  • sudo apt-get install <einigePakete>

 

Ein Datenpaket deinstallieren

  • sudo apt-get remove <paket>

Deinstalliert ein Paket <paket>. Der Nutzer wird um Bestätigung gebeten, bevor das Paket gelöscht wird. Mit dem Flag -y umgeht man die Abfragebestätigung.

 

Purge

  • sudo apt-get purge <paket>

Deinstalliert ein Paket inklusive der zugeordneten Konfigurationsdateien.

 

Nach Software suchen

  • apt-cache search <name>
  • apt-cache show 

Zeigt den Inhalt eines Paketes an und gibt Informationen.

Druckversion | Sitemap
© Reinhard Rahner - Gettorf