Archive for the ‘Linux, Windows & Co.’ Category.

Raspi 4, Libreelec und das Argon One Gehäuse

Für einen meiner Raspberry Pi 4, den ich vor allem als Mediacenter mit Kodi nutzen möchte, habe ich mir ein Argon One Gehäuse bestellt.

Die Installation des Pi im Gehäuse war leicht, die Passform ist gut. Die Installation der Software war aber ein wenig hakelig, daher möchte ich sie hier kurz beschreiben.

Für die folgenden Dinge aktiviert man in Libreelec den SSH-Zugang, mittels User „root“ und Passwort „libreelec“ kommt man dann z.B. via Putty auf den Pi. Da man als root unterwegs ist, entfallen sudo Befehle.

Als erstes installiert man folgende Addons aus dem Libreelec Repo: „Raspberry Pi Tools“ und „System Tools“

Die Argon-Software für Libreelec erhält und führt man aus mittels

curl https://download.argon40.com/argonone-setup-libreelec.sh | bash

Das normale Skript für Raspian (https://download.argon40.com/argon1.sh) funktioniert hier m.E. nicht, es muss die Version für Libreelec sein.

Das Skript für die Konfiguration kann man dann mittels ./argonone-config ausführen. Standardmäßig ist der Lüfter so eingestellt, dass er bei 90° C auf 100% springt. Möchte man das anpassen, kann man mittels nano argononed.conf die Konfiguration anpassen.

LibreELEC:~ # nano argononed.conf
#
# Argon One Fan Speed Configuration
#
# Min Temp=Fan Speed

45=25
65=50
90=100

Mittels reboot oder systemctl restart argononed.service kann man den Dienst (neu) starten.
Die aktuelle Temperatur erhält man übrigens mittels vcgencmd measure_temp.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Git / Github Cheat Sheet

Da ich sie immer wieder vergesse, hier die (für mich) wichtigsten git Befehle.

Befehl Erläuterung
git config –global user.name „Max Mustermann“ Setze Usernamen
git config –global user.email „Max@Mustermann.de“ Setze User E-Mail-Adresse
git clone „githublink“ clone ein Repo von Github
git status Status des Repositories
git add „Datei“ Füge Datei zur Staging-Umgebung hinzu, git add . für alle Dateien im aktuellen Verzeichnis
git reset HEAD „Datei“ unstage Datei
git commit -m „Kommentar“ commit in das lokale Repository
git push origin master pushe Änderungen zurück nach github
git mv „datei1“ „datei2“ benennt Datei um
git rm „datei1“ löscht Datei
git init „Projektname“ legt lokal ein neues Repository an
git ls-files zeigt alle Dateien im Repo rekursiv

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

PS/2 Mäuse und Tastaturen unter Windows 10 nutzen

Ich habe noch einige alte PS/2 Mäuse und Tastaturen, unter ihnen ein Logitech TrackMan Marble FX. Mein Mainboard hat noch entsprechende Anschlüsse, nach dem Anschließen (und Neustart, da kein Plug&Play) tat sich jedoch nichts. Die Lösung fand sich dann bei https://www.wilflingseder.work/de/2018/05/14/how-to-use-a-ps2-keyboard-or-mouse-in-windows-8-and-10/.

Es reicht, mittels regedit im Schlüssel HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > i8042prt den Wert „Start“ von 3 auf 1 zu ändern.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Zugriff aus dem lokalen Netz auf die Nordwind-DB

Um aus dem lokalen Netz Zugriff auf die Nordwind-DB zu erhalten, muss man folgendes tun:

  • die Datei 50-server.cnf in /etc/mysql/mariadb.conf.d bearbeiten. Hier statt 127.0.0.1 die IP-Adresse des Servers eingeben. An dieses Interface wird MariaDB gebunden.
  • einen neuen Nutzer anlegen:

    CREATE USER 'nwread' IDENTIFIED BY 'northwind';

  • Zugriff aus dem Netz für diesen User erteilen:

    GRANT USAGE ON *.* TO 'nwread'@'%' IDENTIFIED BY 'northwind';

    Kann sein, dass dieses Statement schon ausreichend ist, das werde ich noch überprüfen. Ich habe aber zusätzlich noch ausgeführt:

  • Zugriff auf die Datenbank geben:

    GRANT ALL privileges ON `northwind`.* TO 'nwread'@'%';

Nach dem Neustarts des MariaDB-Servers klappt der Zugriff, beispielsweise über HeidiSQL, das ich sehr empfehlen kann.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Die Nordwind-Datenbank für MySQL nutzen

Mit der Nordwind (Northwind) Datenbank gibt es eine ursprünglich für MS Access entwickelte Datenbank, an der sich viele SQL-Konstrukte üben lassen. Die Datenbank gibt es auch für MySQL, unter anderem unter https://github.com/dalers/mywind.

Hier nun die notwendigen Schritte für das Einspielen in eine MySQL/MariaDB-Datenbank:

  • git clone https://github.com/dalers/mywind.git
  • cd mywind
  • sudo mariadb < northwind.sql
  • sudo mariadb < northwind-data.sql

Mittels SQL kann man jetzt prüfen, ob die Daten vollständig geladen wurden:

  • sudo mariadb
  • use northwind
  • select count(*) from products;

bringt eine Zeilenzahl von 45 Zeilen.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

MariaDB installieren unter Linux

Für Apache Guacamole brauchte ich einen MySQL/MariaDB Server auf meinem Linux-Server, hier die Schritte zur Installation:

  1. sudo apt update
  2. sudo apt upgrade
  3. sudo apt install mariadb-server
  4. sudo mariadb

Standardmäßig kommt man als root sofort in die Datenbank, ohne ein Passwort einzugeben. Ich bin zwar den Hinweisen von https://kofler.info/root-login-problem-mit-mariadb/ gefolgt, um für den root-User ebenfalls ein Passwort festzulegen.

Aktuell wird aber jedes Passwort akzeptiert, wenn ich root bin, jedoch das festgelegte Passwort nicht akzeptiert, wenn ich als normaler User mysql -u root -p ausführe.

Sinnvolle mysql/mariadb-Befehle

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Mit RSA-Schlüsseln auf Linux anmelden

Bislang habe ich immer die Kombination aus Username/Passwort für die Authentifizierung an meinen Linux-Maschinen genutzt, aus purer Faulheit stelle ich aber aktuell auf schlüssel-basierte Logins um. Hier eine kurze Anleitung, wie man die entsprechenden Schlüssel unter Windows erstellt.

Als SSH-Shell nutze ich unter Windows putty, das mit puttygen auch einen entsprechenden Key-Generator mit sich bringt. Diesen startet man, wählt „SSH-2 RSA“ aus, trägt bei der Schlüssellänge 4096 ein und drückt „Generate“

Anschließend bewegt man die Maus, um genügend Entropie zu erzeugen.

Nachdem die Schlüssel fertiggestellt sind, kann man mit „Save public key“ und „Save private key“ die beiden Schlüssel speichern. Ein Passwort legen wir hier explizit nicht fest, denn wir wollen ja ein passwort-losen Login.

Die public-Key-Datei kopieren wir dann auf die Linux-Maschine, ich habe dazu einfach WinSCP genutzt.

Auf der Linux-Maschine loggt man sich dann mit Username und Passwort ein und legt a) die Datei ~/.ssh/authorized_keys an, falls diese noch nicht existiert. Dann kopiert man mittels cat >> .ssh/authorized_keys den neuen Key an das Ende der authorized_keys.

Nun muss nur noch in Putty in den Eigenschaften der Verbindung der private key hinterlegt werden und die Session gespeichert werden, die schlüssel-basierte Verbindung sollte jetzt klappen.

Bei mir tat sie das nicht, mein Linux-Server brachte nur die Meldung „Server refused our key“. Die Lösung fand sich dann unter https://www.hpbyte.ch/index.php?/archives/842-PuTTY-und-Server-refused-our-key.html bzw. unter http://www.walkernews.net/2009/03/22/how-to-fix-server-refused-our-key-error-that-caused-by-putty-generated-rsa-public-key/

Der Key muss a) in einer Zeile stehen und b) es muss ssh-rsa davor stehen. Diese Anpassungen habe ich dann unter Windows schnell gemacht (per Ultraedit, jeder andere Editor sollte auch gehen, mit vim wie unter den Links beschrieben kenn ich mich nicht so gut aus) und die oben erwähnten Schritte (auf den Server kopieren, an die authorized_keys anhängen) nochmal gemacht. Jetzt klappt’s auch mit der Verbindung.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Mehr Power im Terminal mit tmux – Teil 3

This entry is part 3 of 3 in the series tmux

Hier nun zum letzten Teil der tmux Serie. Neben der Möglichkeit, mehrere Fenster zu erstellen, zwischen denen man hin- und herwechseln kann, bietet tmux auch die Möglichkeit der sogenannten „panes“ bzw. „Scheiben“.

Wir schließen wir dazu alle Fenster und nutzen dann Ctrl-b %, um das Fenster entlang der vertikalen Achse zu splitten.

Mit Ctrl-b " könnten wir das Fenster entlang der horizontalen Achse splitten.

Diese beiden Befehle können auch kombiniert werden, wie das folgende Bild zeigt.

Zwischen den Fenstern wechselt man mittels Ctrl-b Pfeiltaste, mit Ctrl-b x wird die aktuelle „Scheibe“ geschlossen.

Noch mehr Hinweise zu tmux findet man unter anderem hier:

  • https://tmuxcheatsheet.com
  • „tmux 2: Productive Mouse-Free Development“ von Brian P. Hogan
  • „Getting Started with tmux“ von Victor Quinn J.D.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Mehr Power im Terminal mit tmux – Teil 2

This entry is part 2 of 3 in the series tmux

Ausgehend von einer laufenden tmux Session schauen wir uns heute die grundlegende Bedienung an.

Innerhalb meiner tmux Session kann man beispielsweise mittels Ctrl-b c ein neues Fenster erstellen.

Man erkennt es im folgenden Bild daran, dass neben 0:bash- ein 1:bash* steht. Das Sternchen steht dabei für das gerade aktive Fenster.

Zwischen den verschiedenen Fenstern kann man über die folgenden Tastenkombinationen wechseln:

  • Ctrl-b 0 .. 9 um direkt zu einer Shell zu springen
  • Ctrl-b n für das nächste Shell-Fenster
  • Ctrl-b p für das letzte

Mittels Ctrl-b & schließt das aktuelle Shell-Fenster, tmux fragt sicherheitshalber aber noch einmal nach, ob man das Fenster wirklich schließen möchte.

Da viele identische „Bash“ Strings als Bezeichner schnell unübersichtlich sind, kann man mit Ctrl-b , das aktuelle Fenster umbenennen.

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website

Mehr Power im Terminal mit tmux – Teil 1

This entry is part 1 of 3 in the series tmux

In den letzten Tagen habe ich mich ein wenig mit tmux beschäftigt, einem Terminal-Multiplexer für Linux und Unix, der aber auch im Windows-Subsystem für Linux funktioniert.

Was ist ein Terminal-Multiplexer? Die englische Wikipedia [1] schreibt dazu folgendes:

„tmux is a terminal multiplexer for Unix-like operating systems. It allows multiple terminal sessions to be accessed simultaneously in a single window. It is useful for running more than one command-line program at the same time. It can also be used to detach processes from their controlling terminals, allowing SSH sessions to remain active without being visible.“

Also:

  • man kann mehrere Terminal-Sessions gleichzeitig in einem Fenster offen haben, bricht die Verbindung ab
  • bricht die SSH-Verbindung ab, so bleibt die Session trotzdem erhalten

Die Installation war recht einfach, per apt install tmux holt man sich das Paket auf die Maschine. Um bei jedem Login tmux sofort zur Verfügung zu haben, habe ich gemäß [2] folgendes der ~/.profile hinzugefügt:

if command -v tmux &> /dev/null && [ -z "$TMUX" ]; then
    tmux attach -t default || tmux new -s default
fi

Startet man jetzt tmux, so erhält man den folgenden Bildschirm:

Im nächsten Teil schauen wir uns dann die grundlegende Bedienung an.

[1] https://en.wikipedia.org/wiki/Tmux
[2] https://www.tecmint.com/tips-for-tmux-terminal-sessions/

Uwe

Uwe Ziegenhagen likes LaTeX and Python, sometimes even combined. Do you like my content and would like to thank me for it? Consider making a small donation to my local fablab, the Dingfabrik Köln. Details on how to donate can be found here Spenden für die Dingfabrik.

More Posts - Website