KubikPixel ✍️

I'm a ☕ loving Web & App developer with 3D experience and a FLOSS Geek with a Punk attitude.

Warnung!

Probiere die hier aufgeführten Beispiele auf keinem Fall auf deiner produktiven Computer aus! Mit diesen Befehlen löscht du deine Festplatten unwiderruflich! Verwende dazu eine Testinstallation von Linux in einer Virtuellen Umgebung.

Bevor mensch eine Festplatten aus seinem Rechner ausbaut, sollte mensch sie Bereinigen um allfällige persönliche so wie heikle Daten nicht unfreiwillig weiter zu geben. Da reicht leider ein einfaches löschen nicht.

Einfaches löschen

Üblicherweise nutzt mensch dazu den Befehl rm und die Optionen -rf heisst das es erzwungen wird und dies auch noch rekursiv.

# Einfaches löschen aller Dateien auf der System-Festplatte
sudo rm -rf /

Anstatt sudo kann auf deinem System auch doas installiert sein oder evtl. nutzt du auch su root um die Befehle als root auszuführen. Als normaler User kann mensch die Systemdateien nicht löschen oder überschreiben.

Damit wird nur dem System bekannt gegeben, dass der Platz auf dem die Datei(en) bis jetzt waren nun überschrieben werden können. Das heisst die Informationen von der Datei sind noch auf der Festplatte vorhanden aber nicht mehr sichtbar. Mit forensischen Mitteln um die Dateien wieder herzustellen. Je nach Dateisystem ist das Lesen und Wiederherstellen der gelöschten Datei eine nicht all zu grosse Sache.

Eleganter geht dies über den mv Befehl aber auch da werden die Daten nicht wirklich gelöscht und ist mit Vorsicht zu geniessen.

# Alle Dateien erzwingen nach dem "Nichts" vom System zu verschieben
sudo mv -f / /dev/null

Wenn da die gelöschte, eigentlich eine ins Nichts verschobene, Datei zugreifen möchte, zeigt es auf eben diesem Nichts. Die Daten sind auf der Festplatte immer noch vorhanden bis diese vom System überschrieben werden.

Festplatte finden

Bevor wir eine Festplatte komplett löschen oder besser gesagt bereinigen, ist es ratsam die Richtige zu finden und auszuwählen. Verschaffen wir uns erst mal eine Übersicht was wir an gemountete Laufwerke auf unserem System haben.

Bis jetzt haben wir es nur von der Dateihierarchie angegangen und nicht anhand der physischen Datenträgern. Die physischen Einhängepunkte vom Dateisystem zu finden, geht gut mit dem Befehl df und mit der Option -h lassen wir es uns auch noch Menschen lesbar anzeigen.

# Listet menschlich lesbar das Filesytem und deren Belegung auf
$ df -h

sr0     11:0    1  1024M  0 rom
Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
dev             3.9G       0  3.9G    0% /dev
run             3.9G    1.6M  3.9G    1% /run
/dev/sda2       225G    156G   58G   74% /
tmpfs           3.9G    5.5M  3.9G    1% /dev/shm
tmpfs           3.9G     58M  3.8G    2% /tmp
/dev/sda1       300M    312K  300M    1% /boot/efi
tmpfs           785M    132K  785M    1% /run/user/1000
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS

Wir sehen nun was wo gemountet und wie viel belegt ist. Gut soweit einen Überblick haben wir mal. Doch die physischen Datenträger hätten wir gerne auch noch klarer gesehen, dazu nutzen wir lsblk -a um alle aufzulisten.

# Listet alle Blöcke der Laufwerke auf
$ lsblk -a

sda      8:0    0 238.5G  0 disk
├─sda1   8:1    0   300M  0 part /boot/efi
├─sda2   8:2    0 229.4G  0 part /
└─sda3   8:3    0   8.8G  0 part [SWAP]
sr0     11:0    1  1024M  0 rom

In dieser weiteren Auflistung sehen wir welche physischen Festplatte mit welchen Mountpoint übereinstimmt wenn wir die vorhergehenden auch noch dazu ziehen. So können wir sicher sein, dass wir nicht was unwiderruflich löschen und überschreiben was wir noch benötigen. Gerade bei solchen heiklen Aktionen ist ein mehrfaches überprüfen wichtig.

Überschreiben

Mit Nichts überschreiben und mit zufälligen Bits nochmals überschreiben anstatt einfach die Dateien zum überschreiben freigeben, das ist der Weg wie Festplatten sauber gemacht werden.

Da wir vorhin nachgesehen haben welche Festplatte wir gerne löschen würden, sehen wir, dass die Disk sda wir auswählen müssen. Da in einem Linux System alles eine Datei ist finden wir die unter Devices und der vollständigen Pfad lautet /dev/sda. Diese wollen wir nun mit Nullen und dann zufällig überschreiben mittels dd.

# Nicht einfach löschen sondern die ganze Festplatte überschreiben
sudo dd if=/dev/null on=/dev/sda
sudo dd if=/dev/urandom on=/dev/sda

Wenn du SSD oder USB-Sticks so bereinigen möchtest, dann ist die letzte Zeile nicht nötig und eher schädlich für den Datenträger, nutze den ersten Befehl einfach zwei mal.

Das könne wir nun mehrfach wiederholen um sicher zu gehen das evtl. forensische Mittel da nicht noch was zurückführen können. Anschliessend ist eine neue Formation auf das gewünschte Dateisystem mittels mkfs noch nötig um die Festplatte wieder einsatzbereit zu haben.

# z.B. die Festplatte mittels FAT32 formatieren, damit diese von allen gelesen werden kann
sudo mkfs -t vfat /dev/sda

Alternativen

Es gibt noch folgende Alternativen aber diese müssten unter Umständen noch nachträglich auf dein Linux System installiert werden. Meines Wissens sind diese selten bei Distributionen üblicherweise vorinstalliert.

Der Befehl wipe macht genau das was wir vorhin mittels dd taten aber nicht zwingend über die Ganze Festplatte, es ist auch möglich einzelne Dateien damit sicher zu löschen.

sudo wipe -rfQ 5 /

Wir forcieren -f das reine wischen, so zu sagen vom Wurzelverzeichnis /, rekursiv -r auf und überschreiben anstelle der Datei mit Nullen (0) fünf mal -Q 5.

Eine weiter Möglichkeit bietet shred doch diese bietet von sich aus keine Möglichkeit Ordner rekursiv zu löschen, dazu muss mensch es mittels find kombinieren. Ganz Laufwerke gehen hingegen wieder relativ leicht.

sudo shred -z /dev/sda

Update: Das selbe hier aber das ganze Laufwerk wird fünf mal mit Nullen (0) überschreiben -n 5. shred schreibt ohne weiteren Angaben drei mal Zufallswerte über das Ziel und die Option -z bewirkt, dass am Schluss alles nochmals mit Nullen (0) überschrieben wird. – Danke @[email protected] für deinen Hinweis.

Fazit

Beachte bitte das das mehrfache überschreiben von SSD so wie USB-Sticks Datenträgern deren Lebenszeit verringern kann, deswegen rate ich da eher zu zweimaligem überschreiben mit Nullen / Nichts mittels dd. Dies zwei mal, damit die Blöcke im Hintergrund zur Fehlerkorrektur ebenfalls mit Nullen gefüllt werden. Anderseits besteht die Gefahr, dass durch deren Optimierung die Nullen nicht wirklich geschrieben werden, da ist wohl eher hdparm nützlich aber das ist für einen weiteren Artikel bestimmt.

Eine andere Möglichkeit dies alles zu umgehen wäre eine zeitgemässe Verschlüsselung der Datenträger anzuwenden. Diese aufzusetzen ist einen weiteren Artikel für sich aber so kann mensch sehr wohl diese relative aufwendige Löschung von Dateien sparen.

Wie immer lohnt es sich einen Blick auf de Man-Pages mittels man <BEFEHL> zu werfen um die einzelne Befehle genauer kennen zu lernen. Für Kommentare so wie evtl. Ergänzungen und Korrekturen gerne über Mastodon an mich wenden unter @[email protected].

Warnung!

Probiere die hier aufgeführten Beispiele auf keinem Fall auf deiner produktiven Computer aus! Mit diesen Befehlen löscht du deine Festplatten unwiderruflich! Verwende dazu eine Testinstallation von Linux in einer Virtuellen Umgebung.

Bevor mensch eine Festplatte aus seinem Rechner ausbaut, sollte mensch sie Bereinigen um allfällige persönliche so wie heckle Daten nicht unfreiwillig weiter zu geben. Da reicht leider ein einfaches löschen nicht.

Einfaches löschen

Üblicherweise nutzt mensch dazu den Befehl rm und die Optionen -rf heisst das es erzwungen wird und dies auch noch rekursiv.

# Einfaches löschen aller Dateien auf der System-Festplatte
sudo rm -rf /

Anstatt sudo kann auf deinem System auch doas installiert sein oder evt. nutzt du auch su root um die Befehle als root auszuführen. Als normaler User kann mensch die Systemdateien nicht löschen oder überschreiben.

Damit wird nur dem Sytem bekannt gegeben, dass der Platz auf dem die Datei(en) warun nun überschrieben werden können. Das heisst die Informationen von der Datei sind noch auf der Festplatte vorhanden aber nicht mehr sichtbar. Mit forensischen Mitteln um die Dateien wieder herzustellen also keine all zu grosse Sache. Je nach Dateisystem ist das Lesen und Wiederherstellen der gelöschten Datei eine nicht all zu grosse Sache.

Eleganter geht dies über den mv Befehl aber auch da werden die Daten nicht wirklich gelöscht und ist mit Vorsicht zu geniessen.

# Alle Dateien erzwingen nach dem "Nichts" vom System zu verschieben
sudo mv -f / /dev/null

Wenn da die gelöschte, eigentlich eine ins Nichts verschobene, Datei zugreifen möchte. Zeigt es auf eben diesem Nichts. Die Daten sind auf der Festplatte immer noch vorhanden bis diese vom System überschrieben werden.

Festplatte finden

Bevor wir eine Festplatte komplett löschen oder besser gesagt bereinigen, ist es ratsam die Richtige zu finden und auszuwählen. Verschaffen wir uns erst mal eine Übersicht was wir an gemountete Laufwerke auf unserem System haben.

Bis jetzt haben wir es nur von der Dateihierarchie angegangen und nicht anhand der physischen Datenträgern, dies geht gut mit dem Befehl df und mit der Option -h lassen wir es uns auch noch Menschen lesbar aufzeigen.

# Listet menschlich lesbar das Filesytem und deren Belegung auf
$ df -h

sr0     11:0    1  1024M  0 rom
Dateisystem    Größe Benutzt Verf. Verw% Eingehängt auf
dev             3.9G       0  3.9G    0% /dev
run             3.9G    1.6M  3.9G    1% /run
/dev/sda2       225G    156G   58G   74% /
tmpfs           3.9G    5.5M  3.9G    1% /dev/shm
tmpfs           3.9G     58M  3.8G    2% /tmp
/dev/sda1       300M    312K  300M    1% /boot/efi
tmpfs           785M    132K  785M    1% /run/user/1000
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS

Wir sehen nun was wo gemountet und wie viel belegt ist. Gut soweit einen Überblick haben wir mal. Doch die physischen Datenträger hätten wir gerne auch noch gesehen, dazu nutzen wir lsblk -a um alle aufzulisten.

# Listet alle Blöcke der Laufwerke auf
$ lsblk -a

sda      8:0    0 238.5G  0 disk
├─sda1   8:1    0   300M  0 part /boot/efi
├─sda2   8:2    0 229.4G  0 part /
└─sda3   8:3    0   8.8G  0 part [SWAP]
sr0     11:0    1  1024M  0 rom

In dieser zweiten Auflistung sehen wir welche physischen Festplatte mit welchen Mountpoint übereinstimmt wenn wir die vorhergehenden auch noch dazu ziehen. So können wir sicher sein, dass wir nicht was unwiderruflich löschen und überschreiben. Gerade bei solchen heiklen Aktionen ist ein mehrfaches überprüfen wichtig.

Überschreiben

Mit Nichts überschreiben und mit zufälligen Bits nochmals überschreiben anstatt einfach die Dateien zum überschreiben freigeben (oben beschrieben), das ist der Weg wie Festplatten sauber gemacht werden.

Da wir vorhin nachgesehen haben welche Festplatte wir gerne löschen würden, sehen wir, dass die Disk sda wir auswählen müssen. Da in einem Linux System alles eine Datei ist finden wir die unter Devices und der follständig Pfad lautet /dev/sda. Diese wollen wir nun mit Nullen und dan zufällig überschreiben mittels dd.

# Nicht einfach löschen sondern die ganze Festplatte überschreiben
sudo dd if=/dev/null on=/dev/sda
sudo dd if=/dev/urandom on=/dev/sda

Das könne wir nun mehrfach wiederholen um sicher zu gehen das evt. forensische Mittel da nicht noch was zurückführen können. Anschliessend ist eine Formation auf das gewünschte Dateisystem noch nötig um die Festplatte wieder einsatzbereit zu haben.

Alternativen

Es gibt noch folgende Alternativen aber diese müssten unter Umständen noch nachträglich auf dein Linux System installiert werden. Meines Wissens sind diese selten bei Distributionen üblicherweise installiert.

Der Befehl wipe macht genau das was wir vorhin mittels dd taten aber nicht zwingend über die Ganze Festplatte, es ist auch möglich einzelne Dateien damit sicher zu löschen.

sudo wipe -rfQ 5 /

Eine weiter Möglichkeit bietet shred doch diese bietet von sich aus keine Möglichkeit Ordner rekursiv zu löschen, dazu muss mensch es mittels findkombinieren. Ganz Laufwerke gehen hingegen wieder relativ leicht.

sudo shred -vn 5 /dev/sda

Weitere Informationen

Wie immer lohnt es sich einen Blick auf de Man-Pages mittels man <BEFEHL> zu werfen um die einzelne Befehle genauer kennen zu lernen.

Schader sind in der Computergrafik Programme, die aus Mathematik heraus zu Hilfe der Grafikkarte Formen und Farben auf den Bildschirm zaubern. Dies benötigt man hauptsächlich in der Spiele- und Filmindustrie aber auch beim Nachbearbeiten von Bildern und Fotos. Zwar in abgewandelter Form in dem der Anwender die Shader einfach nur einsetzt aber die Technik dahinter ist die selbe. Die am häufigsten dafür angewendete Programmiersprachen sind OpenGL und deren Abwandlung für das Internet WebGL.

Schadertoy so ein Onlinetool in WebGL um eben solche Schader zu schreiben und zu präsentieren. Das interessante an deren Beispiele ist, dass für deren Erstellung weder ein 3D Modelierungsprogramm wie 3DS Max, Maya oder Blender dazu verwendet wurde. Es wurde wird alles Mathematisch definiert und das in Echtzeit berechnet so wie animiert.

Sehen wir uns doch mal an was damit möglich ist und dazu habe ich mal die 20 besten zwanzig Beispiele für euch herausgesucht. Die Liste ist nicht Wertend da die Geschmäcker unterschiedlich sind. Eine kleine Warnung noch im Voraus: Für diese Berechnungen kann es sein, dass einiges von deiner Grafikkarte abverlangt wird. Bei den einzelnen Beispielen auf Play ▶️ Klicken und den Farbrausch mit dem Augenzucker genießen.

Abstract Glassy Field in Rust!

RME4 – Crater

Warped Extruded Skewed Grid

Cyber Fuji 2020

Realtime Extruded Quadtree

Volcanic

prism liquid

Campfire at night

Cube lines

Captain Harlock's maiden voyage

Dolphin

Greek Temple

Ladybug

Selfie Girl

English Lane

Snail

Happy Jumping

Nightfall

[TWITCH] FM-2030's messenger

Fractal Land

Findet ihr das auch so faszinierend wie ich oder eher weniger oder kennt ihr da noch krassere Beispiele? Schreibt mir das doch als Kommentar auf Mastodon.

Linux GPU Cube

Auf meinem Laptop auf dem Manjaro Linux gut läuft habe ich folgendes Problem: Gewisse Programme sind für die GPU optimiert und deswegen möchte ich diese auch gerne über meine interne verbaute Grafikkarte ausführen. Doch Linux hat leider die doofe Eigenschaft, dass der GPU Standards gemäß nicht angesprochen werden und dies explizit getan werden muss. Dies geschieht je nach Treiber unterschiedlich, in meinen Fall ist es der Prime Treiber für die Nvidia Grafikkarte. Das was ich hier Zeige sollte analog auch für andere Treiber und Konfigurationen gehen, schaue dabei in die Dokumentation deiner Linux Distribution nach.

Dieser Beitrag ist für Konsolen/Terminal/Shell AnfängerInnen geschrieben und einige Abschnitte sind für fortgeschrittene BenutzerInnen sicherlich gut zu überspringen. Zum Verständnis noch, mpv ist ein Media-Player ähnlich wie VLC, den die meisten von euch kennen werden.

Grafikkarte Ansprechen

Eigentlich spreche ich die Grafikkarte nur durch das Terminal durch den Befehlprime-run an, doch an diesen zu denken und einzugeben habe ich keine Lust und die Programme, die GPU unterstützen sollten auch aus den Scripten dies von alleine ausführen. Das sieht z.B. in der Praxis auf der Konsole folgendermaßen aus:

prime-run mpv --fs ~/Videos/mein-film-vom-urlaub.mkv

Das sollte eleganter gehen und auch ohne dem vielen Tippen, dazu könnte Mensch doch einige Systemeinstellungen je nach Applikation verändern um diese optimal auszuführen.

POSIX zeigt wohin

In einem POSIX kompatiblem System wie Linux ist die Variable $PATH gegeben und in dieser wird angegeben, wo das System nach auszuführenden Dateien suchen soll wenn kein vollständiger Pfad angegeben ist. Wenn wir nun das obige Beispiel ansehen, dann führen wir genau genommen zwei Befehle aus und am letzten Befehl geben wir zwei Argumente mit. Doch wie findet Linux diese Befehle, denn ich gebe keinen expliziten Pfad an wo diese zu finden sind. Gib dafür einfach mal in deiner Shell folgendes ein:

echo $PATH

Du wirst nun eine Reihe von Pfaden sehen, die durch einen : getrennt sind.Dir wird auch auffallen, dass die Pfade in das von deinem System genutzten Verzeichnisse verweist. In der Reihenfolge der aufgelisteten Pfade werde die aufgerufenen Programme gesucht. Wenn z.B. mpv im ersten Pfad nicht gefunden wird, dann wird im nächsten nach dem Doppelpunkt gesucht u.s.w. So lange bis es gefunden wird und wenn nicht wird ein Fehler ausgegeben. Geben wir mal folgendes in das Terminal ein:

type mpv

Uns wird der absolute Pfad von mpv dann so angezeigt mpv is /usr/bin/mpvund wir sehen, dass der Pfad /usr/bin/ auch in $PATH vorkommt. Deswegen wird mpv so wie alle systemweit genutzten Applikationen auch gefunden und ausgeführt. Genau dies können wir nun für uns nutzen.

$PATH erweitern

Als erstes erweitern wir das Suchfeld für die von uns genutzten Programme und dies machen wir, indem wir $PATH erweitern. Dies können wir entweder Systemweit oder pro Nutzer tun. Ich werde es hier der Einfachheit halber pro Nutzertun aber in einem Betrieb mit mehreren MitarbeiterInnen ist dies sicherlich von Vorteil, wenn dies Systemweit geschieht.

Füge in deiner .bashrc und/oder .zshrc folgende Zeile am Anfang vom File ein. Es ist sehr wahrscheinlich, das dies sogar schon vorhanden ist und du diese nur noch anpassen musst.

export PATH=$HOME/.local/bin:$PATH

Wir fügen zur Variablen $PATH den Wert $HOME/.local/bin: hinzu und was dies genau macht werde ich nun erklären. export macht eine Variable in der Shell systemweit nutzbar (gilt für Bash & Z-Shell). Mit PATH= definieren wir eine Variable mit dem Namen PATH. Dann rufen wir die Variable $HOME auf und die verweist auf unser User-Verzeichnis. Das $ vor der Variablen heißt, dass die Variable aufgerufen und ausgelesen wird. In unserm Benutzerverzeichnis möchten wir aber auf unseren versteckten Unterordner .local/bin verweisen und das vor all unseren Systempfaden. Dann hängen wir die vom System schon definierten Systempfaden getrennt von einen : noch an, durch das aufrufen von $PATH.Vielleicht fragst du dich nun wieso das alte so wie neu $PATH sich nicht in die Quere kommen? Diese Zeile wird von Rechts nach Links durchgearbeitet und so kann das neue $PATH auf das alte aufbauen, sprich ersetzten.

Wraper-Scripts

Kommen wir nun zu den Wraper-Scripts, die nichts anderes als Shell-Scripts sind,die dann Schlussendlich das gewünschte Programm aufrufen aber vor- und nachher noch “was machen”, in unseren Fall die Grafikkarte ansprechen. Legen wir los und richten dies nun für uns ein indem wir das folgende Script unter~/.local/bin/mpv speichern.

#!/bin/sh

xset s off -dpms                      # Bildschirmschoner deaktivieren
xset s noblank

/usr/bin/prime-run /usr/bin/mpv "[email protected]"  # mpv mit GPU unterstützung starten

xset s on +dpms                       # Bildschirmschoner aktivieren
xset s 300

Ich werde dieses Script nun ganz kurz erklären: In der ersten Zeile setzen wir ein Shebang oder Hash-Bang um dem System mitzuteilen was für ein Script dies nun ist und mit was es ausgeführt wird, es ist ein Shell-Script. Dann schalten wir den Bildschirmschoner vom X-Window System aus, denn wir möchten beim Filme gucken mittels mpv nicht durch ihn unterbrochen werden. Dann rufen wirmpv mittels dem Präfix prime-run inkl. ihren absoluten Pfaden auf und durch"[email protected]" übergeben wir alle Optionen, die wir erst dem Shell-Script übergeben haben, weiter an mpv.

Da wir dem Script den selben Namen wie mpv gegeben haben und wir wie weiter oben beschrieben erst in unserem lokalem Verzeichnis vom Benutzer suchen, rufen wir das reale mpv nicht auf, sonder über den Umweg von unserem Script. Das können wir nun für alle möglichen Applikationen einrichten, z.B. Blender mit der Datei ~/.local/bin/blender:

#!/bin/sh
/usr/bin/prime-run /usr/bin/blender "[email protected]"

Dir fällt auf, dass dieses Script deutlich kürzer ist und das Ausschalten vom Bildschirmschoner fehlt. Warum sollten wir für Blender den Bildschirmschoner ausschalten, das macht in diesem Zusammenhang keinen Sinn. Du siehst, die Scripte sollten ihren Zweck entsprechend Dinge erfüllen und nicht nur weil man es kann. Wichtig ist noch zu erwähnen, das die Scripts ausführbar sein müssen und das machst du natürlich mittels chmod:

chmod -R 700 ~/.local/bin/

.desktop Files

So weit so gut aber nun habe wir die Ganze Zeit auf der Konsole hantiert doch die meisten von euch werden einen Grafischen Desktop verwenden und auch dort sollten wir es einrichten. Auch hier richten wir als Beispiel nur den lokalen Nutzer ein, in einer Firma mit mehreren MitarbeiterInnen sieht dies dann wieder ein wenig anders aus. Wenn wir wieder das Beispiel vom mpv Media-Player nehmen, dann schreiben wir die Datei mpv.desktop in das Verzeichnis ~/.local/share/applications/ und das sieht so aus:

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Icon=/usr/share/icons/hicolor/scalable/apps/mpv.svg
Exec=/usr/bin/prime-run /usr/bin/mpv %u
Name=mpv
Comment=Schlanker Media-Player
Categorie=Application;Multimedia;

Dies sind einen ganzen Haufen an Informationen doch wir möchten uns nur auf die Zeile Exec=... fokussieren. Ich bin der Meinung das so gut wie jede Zeile für sich selbst erklärend ist. Wichtig ist, dass in der erwähnte Zeile eben wie im Wraper-Script der /usr/bin/prime-run vor /usr/bin/mpv gesetzt wird und wieder beide mit absoluten Pfad, damit wir auch wirklich das ausführen was wir möchten. Am ende der Zeile steht noch ein %u und das sind die User-Inputs oder eben Optionen die man anhängen kann. Was wir hier allerdings nicht haben,ist das Ausschalten vom Bildschirmschoner.

Das selbe können wir nun auch für Blender und allen anderen erwünschten Programmen durchziehen. Die unten stehende Konfiguration speicherst du unter~/.local/share/applications/blender.desktop.

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Icon=/usr/share/icons/hicolor/scalable/apps/blender.svg
Exec=/usr/bin/prime-run /usr/bin/blender %u
Name=Blender 3D
Comment=Open-Source 3D Creation Suite
Categorie=Application;Graphics;

Es kann nun gut sein, dass du evtl. auf deinem Desktop und Startmenü einige Icons doppelt sind. Entweder änderst du die bestehende Einträge wie du sie benötigst oder löscht die Icons & Einträge auf deinem Desktop die du nun nichtmehr benötigst.

Andere Lösungen?

Ich habe keinen andere Weg gefunden und auch auf Anfrage in der Community keine anderen Antworten erhalten. Habt ihr andere Lösungen oder Linux Distros, die das von Haus aus schon lösen oder ist das der einzige gangbare Weg? Wenn nein und du einen anderen Weg weißt dann schreibe es mir doch wie die Kommentare im Fediverse mir auf Mastodon.

Quellen

Da der vorgängige Beitrag so vielen gefallen hat und Anklang fand, dachte ich mir ich schreibe einen Nachfolger dazu, damit ihr noch mehr Videos konsumieren könnt. Doch bevor du diesen Artikel weiter liest, lese doch bitte zuerst den Artikel »Mein YouTube Terminal Workflow« durch, da dieser Beitrag auf den vorhin erwähnten aufbaut.

YouTube Playlists

YouTube Playlist

Im vorherigen Artikel haben wir gelernt wie wir mittels Newsboat YouTube Channels abonnieren. Doch man kann auch Playlists abonnieren und das ist z.B. nützlich wenn man einen Kurs oder Serie von Videos ansehen möchte aber nicht den ganzen Kanal abonnieren. Füge in der Datei ~/.newsboat/youtube folgende Zeile ein:

https://www.youtube.com/feeds/videos.xml?playlist_id=<playlist-id> <kategorie-tag>

Auch hier ersetzten wir <playlist-id> mit der wirklichen ID der Playlist, das geht so: Du wählst die von dir gewünschte Playlist in YouTube an und entnimmst der URL deren ID, die ist wiederum das Segment nach dem letztem / und eine Zahlen-, Zeichen- und Buchstabenfolge. So wie wir es auch mit den Channels-Abos getan hatten. Zu den Kategorien und Tags in Newsboat komme ich noch weiter unten in diesem Artikel zu sprechen.

Mediatheken

MediaThekViewWeb

Wir können auch Mediatheken anzapfen sofern diese einen Feed anbieten. Gebündelt und übersichtlich erzeugt für uns MediathekViewWeb für alle Rechtlich-Öffentlichen Sendern aus dem Deutschsprachigen Raum. Auch lässt sich über diesen Service auch nach Stichworten sortieren, dies erfolgt Analog zu den YouTube Abonnenten:

https://mediathekviewweb.de/feed?query=<suchbegriff> <kategorie-tag>

Auch hier ersetzten wir den Ausdruck in den spitzen Klammern <suchbegriff> durch den Begriff den wir wirklich suchen, z.B. Doku beachte aber, dass du Sonderzeichen und Leerzeichen in URL Encoding angeben musst. Das Leerzeichen z.B. als %20 u.s.w. Was du da als Suchbegriff eingibst wird im Newsboat auch als Feed-Titel angezeigt. Du kannst auch spezialfisch nach Sendungen suchen wie z.B. Tagesschau. Spezifischer kannst du per !ARD%20Tagesschau suchen und dir Sendungen nur von einzelnen Sendern anzeigen lassen, z.B.:

https://mediathekviewweb.de/feed?query=!ARD%20Tagesschau News

Genauere Suche im Detail findest du auf GitHub der Seite von dem MediathekViewWeb Projekt. Die Mediatheken von Privatsendern sind da schwieriger bis fast nicht über Feeds zu erreichen. Da suche ich noch einen einfachen Weg, doch vielleicht lasse ich es auch. Das Programm der Privatsender interessiert mich schlich und einfach wenig bis gar nicht.

Aggregatoren

Es gibt im Netz einige Seiten mit sogenannten Kuratierten Best-Off Listen für Mediatheken so wie Streaming-Dienste. Diese bieten meistens versteckt einen Feed an, doch dieser lässt sich nicht als direkt Link zum Streamen auf der Konsole verwenden. Zu mindestens habe ich dies bis jetzt noch nicht herausgefunden wie dies mit wenig Aufwand geht. Dies ist meiner Meinung nach auch nicht so schlimm, da wir mit der bisherigen Methoden eigentlich diese schon abdecken und wir auch so unsere eigene kurierte Listen zusammenstellen.

PeerTube

PeerTube

PeerTube ist da sehr dankbar und jeder Kanal so wie User lasen sich direkt über den Sharebutton vom Kanal oder Profil, rechts oben, als Feed abonnieren. Diesen URL kopierst du dann einfach wieder in die ~/.newsboat/youtube Datei und kannst diesen Feed wie die anderen zusätzlich mit Tags versehen. Zu denen kommen wir gleich. Interessante Videos, Creater & Feeds findest du am leichtesten über die Website der Sepia Search Suchmaschine, diese sucht über die PeerTube Instanzen hinweg und du musst dich darüber keinen Kopf machen.

Kategorien & Tags

Das was wir in diesem Abschnitt besprechen gilt allgemein für Newsboat. Wie schon erwähnt setzten wir hinter jedem Feed URL noch eins oder mehrere Stichworte passend zum Kanal, sogenannte Tags. Du kannst gezielt nach ihnen suchen indem du in Newsboat die t Taste drückst, dir wird dann eine Aufzählung aller Tags und deren Anzahl von Feeds angezeigt. Wie schon gewohnt wählst du mit den Pfeiltasten, Enter und o dann dein gewünschtes Video aus. Das hilft einem beim Sortieren & Finden der Videos (Feeds) und man behält den Überblick.

IPTV

Ich schaue so gut wie kein TV mehr außer vielleicht News aber diese auch meistens über Stream, doch man kann auch in der Konsole auch IPTV live ansehen. Da mpv ebenfalls m3u Playlist tauglich ist lässt sich darüber dies ohne Aufwand realisieren. Das finden der Sender ist nicht immer so leicht und nicht jeder Sender bietet einem einen freien IPTV Stream an.

Listen finden & nutzen

Auf GitHub gibt es einige mal besser und mal schlechtere kurierte Listen von IPTV Stationen. Eine gute internationale Liste, die ihre Playlists in Länder, Sprachen oder Kategorie unterteilt und diese fort zu aktuell halten ist iptv-org. Die Auswahl ist sehr groß aber meiner Meinung nach sinnvoll gebündelt und dadurch die Gewünschte Kategorien auffindbar (auf Expand klicken). Ich habe dies als Alias tv in meinem .bashrc respektive .zshrc eingebunden.

alias tv="mpv --fs https://iptv-org.github.io/iptv/languages/deu.m3u"

Wenn wir nach dem neustart vom Terminal nun tv eingeben startet mpv im Vollbildmodus und spielt die Playlist der deutschsprachigen IPTV Sendern ab, das Initialisiere kann ein wenig Zeit benötigen. Unten links kann man anhand der Pfeile durch die Playlist durch skipen.

termv

termv

Das Shell Tool termv vereint das ansehen von IPTV über mpv mit der fzf Suche. Die Liste von termv ist international und dementsprechend lang. Suchen tut man über das eingeben vom Namen des gewünschten Senders, manche gehen & manche nicht.

Schlusswort

Es lohnt sich sicherlich die Konfigurationen der einzelne Tools auf seine Bedürfnisse anzupassen, doch das ist jeweils wieder eine eigene Welt. Ich hoffe das Fenster zur Welt der Videos über das Terminal weiter für euch geöffnet zu haben. Wie schaut ihr eure Videos an und möchtet ihr mehr solche ausführliche Anleitungen und auch mit dem Fokus Konsole & Terminal? Lasst es mich wissen und schreibt es mir doch auf Mastadon.

Hach Mastodon, wie sehr ich dich mag aber je größer du wirst um so mehr Idiotinnen ziehst du an. Das ist überall so, je mehr Menschen um so mehr Idiotinnen tummeln sich darunter.

Shitstorm

Letzthin machte ich einer Person darauf aufmerksam, dass das verwenden vom Diminutiv keinesfalls Geschlechter neutral ist, da das Diminutiv meistens sächlich verwendet wird und dies bewusst um meist weibliche und jüngere Mitmenschen klein zu reden. Das ist eine Sprachtaktik um jemand absichtlich unten zu halten. Das hatte ich auch so erklärt und auch dargelegt. Deswegen ist die meiner Meinung nach keinesfalls Emanzipatorisch und grenzt eher schon an Kindergarten wo mensch sich die Welt schön redet möchte.

Auf die Antwort musste ich nicht lange warten, da die Person wohl ihr benehmen aus dem Vogelkäfig (Twitter) mit rüber nahm. Da wurde ich rüde angegangen, dass ich den Dialekt der Person nicht verstehen würde und dies deswegen respektlos sei. Echt jetzt, Dialekt nicht verstehen ist respektlos?! Es wäre wohl respektvoller in der Öffentlichkeit, wie eben Mastodon, den Dialekt hinten anzustellen, damit alle es verstehen. Es ist Arrogant, bewusst oder auch nicht, Sprachbariren aufzubauen und dann darauf zu beharren. Das ist eine Bildungsbürgerliche Arroganz wie das verwenden von Diminutiven.

Das erinnert mich an die Millennials, die mir erklären wollen, dass rein durch den Veganismus die Welt gerettet würde. Schön wäre es, doch leider ist dies alles nicht so einfach und nicht Schwarz oder Weiß. Du darfst auch nicht wütend werden nur weil jemensch nicht gerade eben dein Weltbild 101% teilt. Das ist eine sehr seltsame Art der Identitätsfindung, Inklusion fordern aber gleichzeitig alles ausschließen was mensch nicht innerhalb von zwei Sätzen kapiert. Mir wurde es zu blöde einen Fame- oder Flamewar weiter zu befeuern, ich habe besseres zu tun und Energien kreativer so wie produktiver zu nutzen, z.B. einen Blogartikel wie dieser um solche Diskussionen zu Versachlichen und nicht in einer kindischen Streiterei auf einen Kurznachrichtendienst, zur Belustigung anderer verkommen lassen. Shitstorms zeugen nicht gerade von geistiger Größe, sondern eher von einer Bürgerlichen vom Boulevard getriebenen Empörungskultur.

Zurück zum Diminutiv: Darauf später wurde mir erklärt, dass dieser Dialekt eben aus dem Deutschsprachigen »Queer-Anarchisti« Zusammenhängen käme und auch so gesprochen werde. Das mag stimmen aber wirf mir dabei nicht Arroganz vor! Wie gesagt ein Dialekt ist eine Regionale Sprachprägung mit eigenen Worten, was diese Person meinte ist ein Soziolekt. Aber auch da, zu erwarten, dass die breite Öffentlichkeit versteht ist sehr arrogant. Da wird ungefragt von was ausgegangen und dann noch als Vorwurf anderen unterstellt, die sich eben nicht in diesem Umfeld bewegen. Das ist absoluter rechthaberischer Kindergarten, den ich eigentlich nur von abgeschotteten Glaubensgemeinschaften kenne.

Merkt ihr eigentlich noch was oder ist eures soziales Umfeld nur eine riesige oder kleine Blase, so wohl on- und offline? Kommt mal raus in die Welt, auch wenn diese Ungerecht ist und zeigt nicht auf andere Menschen mit dem Finger, wie ihr es eben den anderen Menschen vorwerft. Das noch kombiniert mit einem rechthaberischen Ton ist dann wirklich eklig. Dann seid ihr nicht besser als eure Schwurbel-Eltern die nicht mehr als ihren Namen tanzen können aber über die ganze Welt Bescheid wissen.

Bevor jetzt jemand kommt und mit dem Zeigefinger wieder welche Wortklaubereien macht, gewisse Worte beschreiben eben genau das was für was sie stehen.

P.S. In den tiefen des Internets schlummert ein Artikel, dass anscheinen der Dunning-Kruger-Effekt nicht existiere. Anderseits wie fest soll mensch dem Internet Glauben schenken?

Terminal Hack Meme

In diesem Artikel soll es darum gehen, wie ich YouTube so Daten sparsam wie möglich konsumiere und dies noch in der Konsole. Warum YouTube und kein anderer Video Dienst? Nun ja, es werden immer noch sehr viel interessante Videos täglich auf dieser Plattform von Google veröffentlicht. PeerTube ist Großartig aber bietet bei weitem (noch) nicht den Content und die Vielfalt von YouTube. Da werden die einen oder anderen LBRY und Odysse als Alternativen einwerfen doch die sind genau so mit Trackern durchsetzt wie der Platzhirsch selber. Des weiteren ist meiner Meinung nach deren Krypto-Ansatz so wie Geschäftsmodell für mich (noch) undurchsichtig.

Motivation

Soweit erst zu den Gründen nun zur meiner Motivation. Ich bin außerdem mit der Motivation an dieses Projekt herangegangen, dass ich meinen Medienkonsum auf der Konsole ausüben möchte und dem Tracking so wie dem Bombardement von Werbung ausweichen wollte. Und siehe da, ich war anscheinend nicht der Einzige mit dieser Idee und andere haben dafür schon nützliche Tools geschrieben. Warum also diese nicht verwenden und verketten um damit einen Workflow im Terminal abzubilden. Des weiteren sehe ich durch die minimale Einschränkungen die dieser konzentrierter Workflow ergibt auch weniger Ablenkung. Das heißt in meinem Fall, dass man sich nicht im Strudel verliert, der einem vorgesetzt wird. Auch ist dies z.B. für Recherchen nützlich, da man nicht im Rabbit-Hole vom Algorithmus gefangen wird/ist.

Tools

Damit wir möglichst komfortabel unsere Videos ansehen können benötigen wir ein paar Tools die unser Leben auf der Konsole erleichtern. Am besten installierst du diese über dein Repo von deiner Linux Distribution. Da dies je nach Distro unterschiedlich ist, gehe ich nicht weiter darauf ein. Ich gehe sogar so weit, dass ich dir das zutraue wie das geht wenn du diesen Artikel liest. Ansonsten frage einfach und dir wird bestimmt jemand freundliche Unterstützung bieten.

Das scheinen nun schon einige Tools zu sein aber dies entspricht der Unix Philosophie, für jede Aufgabe ein Tool das genau eine Aufgabe erledigt und verkette diese.

Umsetzung

Eines mal vorweg, wenn es dir bis dahin Kompliziert erscheint: Ich muss einwenden, dass richten wir einmal gemeinsam ein und ab dann kannst du es komfortabel nutzen und wenn nötig nur noch ergänzen. Mit anderen Worten, der Initialaufwand ist vielleicht etwas aufwändig aber auch nur ein mal und nachher nicht mehr.

Als erstes installieren wir die oben erwähnten Tools und wie du dies am besten machst ist auf deren Webseiten gut beschrieben. Wie gesagt am besten über das Repo von deiner Linux Distribution aber ich werde dies doch noch Schritt für Schritt durchgehen.

Media Player

mpv - Media Player

Als erstes installieren wir mpv, ein schlanker und für die Konsole optimierter Media-Player. Unter Ubuntu z.B. sieht dies in der Konsole dann so aus.

sudo apt-get install mpv -y

Auf Apple macOS mit Homebrew so:

brew install mpv

Jetzt ergänzen wir mpv um weitere Funktionen um den Komfor und den Zugriff auf YouTube zu ermöglichen. Wieder stelle ich nur die Ubuntu & macOS Variante vor aber in anderen Distros funktioniert dies simular und ich traue dir das zu.

sudo apt-get install youtube-dl

Apple macOS mit Homebrew:

brew install youtube-dl

Nun haben wir den youtube-dl installiert und dieser ermöglicht uns YouTube Videos zu downloaden oder zu streamen. mpv unterstützt das Nutzen von youtube-dl und ist dadurch Streaming fähig. Anders als es der Name suggerieren mag, ist das Streaming von sehr unterschiedlichen Quellen möglich, auch unter anderem von den Mediatheken der Rechtlich-Öffentlichen. Machen wir doch gleich mal den Test und geben in der Konsole folgendes ein:

mpv https://www.ardmediathek.de/video/die-sendung-mit-der-maus/zeitreisen-mit-der-maus-xxl-die-10er-jahre/wdr-fernsehen/Y3JpZDovL3dkci5kZS9CZWl0cmFnLTQ1MTEyMzNkLTY5YTItNDc0OC05ZWM0LTE0ODk5MzNkYjRjYg/

Du siehst, der Befehl ist sehr simpel: Erst den Befehl mpv für den Player und dann die URL zum Video (deren Länge ist dem Anbieter ARD geschuldet). Mit der taste f kannst du zum Vollbild (fullscreen) wechseln. Mit der Taste q (quit) beendest du mpv vorzeitig.

Werbung & Sponsoren

Wir können nun zwar YouTube und andere Videos streamen und durch das umgehen der Weboberfläche wird auch nicht die Werbung von YouTube vor, nach und während den Videos hinein geschoben, doch das geht noch besser. Viele Creater lassen sich mittlerweile Sponsern und diese Werbung kann auch unnötig nerven und unnötig Zeit in Anspruch nehmen, gut dass es dafür auch eine Lösung gibt und die heißt SponsorBlock. Das ist eigentlich eine Browsererweiterung, die es aber auch als mpv Plugin gibt. Die wollen wir nun installieren doch dazu müssen wir Python 3 sowie Git auf unserem System haben. Wenn du das noch nicht hast so installiere dies jetzt und komme dann wieder hierher zurück.

Das SponsorBlock Script müssen wir in das script Verzeichnis von unserem mpv Konfiguration einfügen. Auf meinem Manjaro Linux sieht dies folgendermaßen aus:

git clone https://github.com/po5/mpv_sponsorblock.git ~/.config/mpv/scripts/

Um dieses Script aktuell zu halten benötigen wir nur den Befehl git pull und die markierten Blöcke werden immer automatisch aktuell aus dem Internet gezogen.

Abos per RSS/Atom Feed

newsboat - RSS/Atom reader

Jetzt haben wir zwar keine nervende Werbung mehr aber immer noch keine Abos oder Suche im Terminal. Um ein Video mittels mpv ansehen zu können benötigen wir immer noch seine URL und diese wollen wir ja eben nicht auf YouTube suchen.

Gehen wir erst die Channel Abos an und werden die mittels Newsboat über den RSS Feed auflisten und anzeigen lassen. Dazu müssen wir Newsboat ein wenig umkonfigurieren doch das ist kein Hexenwerk. Auch diesmal zeige ich wie ich es auf meinem Manjaro Linus gelöst habe und auf deinem wird es sehr ähnlich sein und auch da installieren wir erst Newsboat über das Repository (Ubuntu z.B.):

sudo apt-get install newsboat

...und macOS:

brew install newsboat

Nun nehmen wir die Konfiguration in Angriff und erstellen erst einmal die Abos. Dazu erstellen wir erst mal ein neues File nachdem wir in das Verzeichnis wechseln cd ~/.newsboat und nennen es schlicht youtube. Nun öffnen wir es in einem beliebigen Texteditor wie nano, vim oder emacs. Wir fügen in diese neue lehre Datei folgendes ein:

https://www.youtube.com/feeds/videos.xml?channel_id=<channel-id> "<kategorie>" downloaded

Dies machen wir für jeden zu abonnierenden Channel und ersetzten <channel-id> mit der ID (kryptische Zeichenfolge) und das findest du, wenn du auf YouTube auf die Kanalseite des gewünschten Kanals gehst und in der URL https://www.youtube.com/channel/UCPiI104i7lyG--fkr3LZTtA den letzten Abschnitt nach dem letzten / kopierst, in diesem Fall UCPiI104i7lyG--fkr3LZTtA. Das ist auch das einzige mal, dass du auf YouTube musst und nachher nicht mehr.

Die Kategorie kannst du frei wählen, wie es dir beliebt, hier können wir z.B. <kategorie> durch Kino ersetzen, wichtig ist dass es in doppelten Anführungszeichen steht und ist eigentlich nur für den Export nötig. Am Schluss der Zeile steht noch downloadet und markiert den Feed dazu bei Programmstart diesen zu aktualisieren.

Nun müssen wir nur noch die Konfiguration für die Videowiedergabe ändern und auch nur das werde ich hier beleuchten, Newsboat ist hoch konfigurierbar aber das ist nicht das Thema in diesem Artikel. Gut gehen wir es an und erstellen wieder eine lehre Textdatei im Verzeichnis ~/newsboat und diese nennen wir nun avconfig für Audio-Video-Konfiguration doch eigentlich kannst du einen beliebigen Namen außer config wählen, da dieser als Standard schon vorgegeben ist. Nun editieren wir diese neue Datei wie folgt:

auto-reload yes
browser     mpv

Wir haben den Browser auf den mpv Player gesetzt und das die Feeds sich selber wieder neu laden und wir so immer auf den neusten Stand sind.

Nun können wir Newsboat in der Konsole aufrufen mittels newsboat -u youtube -C avconfig oder wir schreiben gleich ein Alias im .bashrc oder .zshrc oder wo du es benötigst.

alias avnews="newsboat -u ~/.newsboat/youtube -C ~/.newsboat/avconfig"

Sobald du das Terminal neu startest kannst du mit dem Befehl avnews deine Abos durchsehen. Mit den Pfeiltasten navigierst du durch die Feeds und mit Enter siehst du sie dir an. Videos kannst du mit den Pfeiltasten auswählen und mit Enter deren Beschreibung ansehen und dann durch die Taste o öffnest du du mpv und spielst das Video ab. Mit q gehst du immer einen Schritt zurück bis du Newsboat verlässt.

Videos suchen & finden

ytfzf - find YouTube Videos

Bis jetzt sind wir relativ weit gekommen doch Videos auf YouTube suchen, ohne dass wir YouTube selber besuchen und so wieder getrackt werden (auch ohne Anmeldung) geht immer noch nicht. Doch auch dafür gibt es ein Lösung und das ist ytfzf. Wie soll es anders sein auch den müssen wir erst installieren, doch die wichtigsten Abhängigkeiten haben wir schon über die andern Pakete installiert, außer fzf, jq und Überzug. Installiere diese vorher und dann machen wir hier weiter. ytfzf ist vielleicht noch nicht in deinem Software Repo, deswegen nutzen wir hierzu Git.

git clone https://github.com/pystardust/ytfzf
cd ytfzf
sudo make install

Auf dem macOS übrigens ebenfalls wie oben mittels Git.

Nun kannst du direkt aus der Konsole heraus auf YouTube suchen und die Videos direkt über mpv ansehen, dazu genügt nur einen einfachen Befehl in der Konsole ytfzf -t best new video. Die Option -t weißt an die Thumbnails der Videos über Überzug anzuzeigen und alles dahinter ist der Suchbegriff. Klar kannst du ytfzf noch nach deinem Geschmack konfigurieren, lese dazu einfach mehr auf deren Website.

Tracking & IP

Somit hätten wir eigentlich meinen Workflow für YouTube Videos auf dem Terminal durch. Wahrscheinlich hast du noch die Frage was denn mit dem Tracking und dem Suchalgorithmus auf sich hat? Da kann ich so weit beruhigen, dass YouTube in dieser Form nur deine IP & Suchanfrage sieht, zusätzlich umgehen wir dadurch fast jede Werbung. Die IP kannst du z.B. über einen VPN oder dem Tor-Netzwerk verschleiern. Der Client wird beim ytfzf cURL angezeigt & genutzt. Die Suchanfragen sieht YouTube ganz klar, wie soll es da auch dein gewünschtes Video finden. Du fällst aber nicht in das Rabbit-Hole da die Suchanfrage nicht mit dem Verlauf in Verbindung gebracht wird. Du kommst nicht in einer Spirale der immer gleichen Thematik.

Tipps & Tricks

Ein paar Tricks sind sicherlich nicht schlecht um noch mehr aus dieser Konfiguration raus zu holen. Da wäre sicherlich einmal in jedem Programm die Konfiguration so anzupassen, dass diese deine eigenen Bedürfnisse entsprechen. Ich habe dies z.B. für mpv folgendermaßen gemacht.

Mein Bildschirm am Laptop hat eine Auflösung von 1920x1080 und Videos die größer sind machen in meinem Fall keinen Sinn. Also weise ich mpv an über youtube-dl keine Videos zu laden, die eine höhere Auflösung als 1080 Pixel in der Höhe haben, doch ich will die beste zur Verfügung gestellten Audio Qualität.

Auf meinem Manjaro Linux finde ich die Konfigurationsdatei für mpv unter ~/.config/mpv/mpv.conf und in der schreibe ich:

ytdl-format=bestvideo[height<=?1080]+bestaudio/best

So vermeide ich auch, dass mir zu große Videos downloade, die der Bildschirmgröße überhängen und ich außerdem zu viel Datentransfer verbrauch ohne wirklich die Daten zu benötigen.

Des weiteren kann man mit youtoube-dl auch Videos für den offline Betrieb runter laden, indem man einfach ytfzf -td deine suchbegriffe für video eingibt.

Über MediathekViewWeb kann man auch ohne Tracker nach Videos aus der Mediatheken der deutschsprachigen Rechtlich-Öffentlichen Sendeanstalten suchen und dann lokal über mpv streamen, teilweise umgeht dies sogar das Geofencing.

Alternativen

Jetzt wird sicher die eine oder andere einwerfen, das es einfachere Lösungen für mehr Datenschutz & Privatsphäre gibt doch ich wollte mit Absicht eine Lösung auf der Konsole. Ich Arbeite gerne auf der Konsole und empfinde das Zirkeln & Klicken eher mühsam. Wie schon oben erwähnt ist das einmalige Einrichten evt. etwas mühsamer aber danach läuft es ohne weiteres.

Ich zähle diese mal kurz hier auf, welche Alternativen es sonst noch gibt, damit ihr einen kleinen Überblick habt:

Schlusswort

Ich hoffe einigen von euch da was gezeigt zu haben oder habt ihr noch Verbesserungsvorschläge? Wie schaut ihr eure Videos an und möchtet ihr mehr solche ausführliche Anleitungen und auch mit dem Fokus Konsole & Terminal? Lasst es mich wissen und schreibt es mir in die Kommentare oder auf Mastodon.

[UPDATE]

Weiter Einstelllungen, YouTube Playlists, PeerTube so wie TV im Terminal findest du in diesem nachfolge Artikel: »Mediatheken und TV im Terminal«

This text was originally published in German on Feb. 9, 2021 and translated into English by CvG. The original links to the German articles have been kept.

I have mentioned and introduced federated services in previous articles (1, 2), but I did not go into the benefits of using them for their users.

Some of you may have heard the term Fedivers or federated services before, but what is meant by it? Here I will explain why there is a hype about it for a while now and what advantages it brings to the user. I will not go into technical details, because that is worth a separate article.

Image: “THINK Together” by waynewhuang is licensed with CC BY-NC 2.0. To view a copy of this license, visit https://creativecommons.org/licenses/by-nc/2.0/

Separate is worse

You are probably or have been on Facebook (FB), Twitter, YouTube (YT) or Instagram and on these services you can log in and post your photos, messages and status, comment and find and favorite and comment on your friends'. On some other services on the Internet you can log in with FB, Twitter or Google account but not subscribe, comment or favorite (like) across the different services.

This is annoying and you need an account for each service and a password and an app. Something like that should be easier and work with only one account, right? That's what a few programmers thought and have partly independently thought about it. And in fact there has been something like this for a long time, namely the classic email. I can send and receive emails, no matter which provider I use. You can send to emails from Yahoo, Microsoft, GMX or from your school, university or employer and answer received emails. This is possible because there is also an agreed protocol that everyone understands. Email is a standard way of sending and receiving messages over the Internet. Imagine if you could only send your emails within Gmail and had to sign up with another provider just because your girlfriend uses Yahoo, that's insane. Now imagine it in this way for FB, Twitter, Insta and YT!

Federated means together

Now imagine the scenario from the emails I mentioned earlier on social media. You post a YT video and someone gives a like on Twitter without having a YT account. You can also see the comments from FB as well as reply. In addition, you choose which YT server you want to join, because you find Google, for example, stupid and prefer to upload your videos on the server of a friend. Nevertheless, the users on the other servers can see, like and comment on your content.

This already exists and is called Fediverse and the term is a combination of Federation and Universe. This refers to a network of social media that are operated independently of each other, but which federate (work together) with each other. That is, they can see each other's published data, such as comments and likes. It doesn't matter technically which server with which service you use you can interact with your friends [1]. You have the absolute freedom to choose which type of service you want to use and on which server.

Trust

Let's assume you want to use a Fediverse service, but which ones are there and which servers (called instance) are operated by whom and why? Because as with everything you use on the Internet, the first currency is trust. That's why most instance operators have a Code of Conduct (CoC) and this describes which topics are undesirable and/or desirable on their instance and which rules of conduct are expected. This is already a very good indication of which server you would like to use. As said, because the instances are federated you can communicate with the other connected servers as if they were on the same instance. The only restriction is that if I want to publish something on another instance, I need a separate account on it.

Now we come to the agony of choice and I present you the most popular services based on their popular equivalents.

Personally, I like to use Mastodon [2] very often and find it very pleasant to use. As already mentioned, with Mastodon I can follow PeerTube, Friendica etc. accounts just as well. accounts, comment and like.

Conclusion

Which service or even services you want to use and which instances you choose you have to decide for yourself, I can not take that from you. With some services you can also move later relatively problem-free, because this function is built in. Personally, I am very satisfied in the Fediverse and this not only because of the selection but also because of the suitable selected environment. Just because of that the tone among each other is very respectful and not as poisoned as in the usual social media.

Then I wish you a lot of fun while diving into the federated net and maybe we will see each other there, you can find me under KubikPixel on Mastodon.


Footnotes

1: There are different protocols for this and they are not all compatible with each other, the most used one at the moment is the ActivityPub protocol.

2: How to get started with Mastodon is described in detail here. It is worth to read this text although it is very detailed. Also, Mastodon is considered one of the most mature social media platforms in the Fediverse.

Ich hatte in früheren Artikeln (1, 2) föderierte Dienste zwar schon erwähnt und vorgestellt doch bin ich nicht weiter darauf eingegangen was deren Nutzung für Vorteile für deren AnwenderInnen ergeben.

Einige von euch werden den Begriff Fedivers oder föderierte Dienste schon mal gehört haben, doch was ist damit gemeint? Warum momentan seit einem Weilchen ein Hype darum besteht und welche Vorteile dies als Nutzer bringt, werde ich hier erläutern. Auf technische Details werde ich absichtlich nicht eingehen, denn das ist ein eigener Artikel wert.

THINK Together

Bild: “THINK Together” by waynewhuang is licensed with CC BY-NC 2.0. To view a copy of this license, visit https://creativecommons.org/licenses/by-nc/2.0/

Getrennt geht schlechter

Du bist wahrscheinlich oder warst schon auf Facebook (FB), Twitter, YouTube (YT) oder Instagram und auf diesen Dienste kannst du dich anmelden und deine Fotos, Nachrichten und Status zu posten, Kommentieren und das deiner FreundInnen finden und favorisieren und kommentieren. Bei einigen anderen Diensten im Internet kannst du dich mit dem FB, Twitter oder Google Konto anmelden aber nicht über die unterschiedliche Dienste hinweg abonnieren, kommentieren oder favorisieren (liken).

Das stört und mensch braucht für jeden Dienst ein Konto und dafür ein Passwort und ein App. So was soll doch einfacher gehen und mit nur einem Konto? das haben sich auch ein paar Programmierer gedacht und haben teils unabhängig voneinander Gedanken darüber gemacht. Und tatsächlich gibt es da schon länger was in dieser Art, nämlich die klassische Email. Ich kann Emails senden und Empfangen, egal welchen Anbieter ich nutze. Du kannst auf Emails von Yahoo, Microsoft, GMX oder von deiner Schule, Uni oder Arbeitgeber senden und empfangene Emails beantworten. Das ist möglich, da man sich auch ein Protokoll geeinigt hat, das alle verstehen. Email ist ein Standard wie Nachrichten über das Internet versendet und empfangen werden. Stell vor deine Emails könntest du nur innerhalb von Gmail senden und müsstest einen anderen Anbieter anmelden nur weil deine Freundin Yahoo nutzt, das ist doch irrsinnig. Jetzt stell dir das in dieser Art für FB, Twitter, Insta und YT vor!

Föderiert heißt zusammen

Jetzt stell dir das Szenario von den Emails, das ich vorhin erwähnte, auf Social-Media vor. Du postest ein YT Video und jemand gibt einen Like über Twitter ohne ein YT Konto zu haben. Du kannst dabei auch die Kommentare von FB sehen so wie beantworten. Dazu kommt noch, du wählst aus welchen YT Server du beitreten möchtest, da du Google z.B. doof findest und lieber deine Videos auf dem Server von einem Freund hochlädst. Trotzdem können dich die Nutzerinnen auf den anderen Servern deine Inhalte sehen, liken so wie kommentieren.

Das gibt es bereits und nennt sich Fediverse und der Begriff ist ein Kofferwort aus Federation und Universe. Das bezeichnet ein Netzwerk von Sozialen-Medien die unabhängig voneinander betrieben werden, die aber untereinander föderieren (zusammen Arbeiten). Das heißt, sie können gegenseitig ihre veröffentlichten Daten sehen, so wie Kommentare und Likes. Es spielt technisch keine Rolle welchen Server mit welchen Dienst du nutzt du kannst mit deinen FreundInnen interagieren [1]. Du hast somit die absolute Freiheit welchen Typ von Dienst du nutzen möchtest und das noch auf welchem Server.

Vertrauen schenken

Gehen wir mal davon aus du möchtest nun ein Fediverse Dienst nutzen doch welche gibt es und welche Server (Instanz genannt) werden von wem betrieben und wieso? Denn wie bei allem was mensch im Internet nutzt muss als erste Währung sein Vertrauen entgegen gebracht (geschenkt) werden. Deswegen haben die meisten Instanz-BetreiberInnen auch einen Code of Conduct (CoC) aufgeführt und dieser beschreibt welche Themen auf ihrer Instanz un- und/oder erwünscht sind und welche Verhaltensregel erwartet werden. Das ist schon mal einen sehr guter Anhaltspunkt welchen Server mensch für sich nutzen möchte. Wie gesagt, da die Instanzen föderiert sind kannst du mit den anderen verbundenen Servern kommunizieren als wären sie auf der selben Instanz. Einziger Einschränkung ist, dass wenn ich was auf einer anderen Instanz veröffentlichen möchte, dafür darauf einen eigenen Account benötige.

Kommen wir nun zur Qual der Wahl und ich stelle euch die bekanntesten Dienste anhand ihrer populären Äquivalente vor.

Ich persönlich nutze Mastodon [2] sehr gerne und häufig und empfinde den Umgang darauf auch als sehr angenehm. Wie schon erwähnt kann ich mit Mastodon genau so PeerTube, Friendica etc. Accounts folgen, kommentieren und liken.

Fazit

Welchen Dienst oder gar Dienste du nutzen möchtest und welche Instanzen du wählst musst du für dich selber entscheiden, das kann ich dir nicht abnehmen. Bei einigen Diensten kannst du auch später rel. problemlos umziehen, da diese Funktion mit eingebaut ist. Ich persönlich bin im Fediverse sehr zufrieden und dies nicht nur wegen der Auswahl sondern auch wegen der zu einem passenden ausgesuchtem Umfeld. Gerade deswegen ist der Ton untereinander sehr respektvoll und nicht so vergiftet wie in den üblichen Social-Medias.

Dann wünsch ich dir viel Spaß beim abtauchen in das föderierte Netz und vielleicht sehen wir uns dort, mich findest du unter KubikPixel auf Mastodon.


Fußnoten

1: Es gibt unterschiedliche Protokolle dafür und die sind nicht alle zueinander Kompatibel, das momentan am meisten genutzte ist das ActivityPub Protokoll.

2: Wie du am besten die ersten Schritte in Mastodon machts wurde sehr ausführlich hier beschrieben. Es lohnt sich diesen Text zu lesen obwohl dieser sehr ausführlich ist. Außerdem gilt Mastodon als eines der ausgereiftesten Social-Media Plattformen im Fediverse.

Warum der »Data Privacy Day« so wie der »Change Your Password Day« humbug ist.

In diesem Artikel möchte ich erläutern warum die anscheinend gut gemeinten Pseudo-Feiertage für Datenschutz und Sicherheit bloß Humbug sind und keinen Mehrwert haben oder gar was verändern.

Data Privacy Day

Wie jedes Jahr seit 2007 wird am 28. Jan. der Europäische Datenschutztag ausgerufen und von vielen Tech.-Firmen inklusive den obligaten Gossen aus dem Sillicon Velley. Da wird dann groß beschworen, dass der Datenschutz der User einem besonders am Herzen liege und was da nicht alles getan würde. Doch genau die selben Firmen saugen jegliche Informationen die sie vom User erhalten können gern ab und speichern diese nicht nur sondern werten diese gezielt aus. Das wird wiederum gerne mit der Analyse vom Geschäftsmodell so wie dem Kunden eine besseres Produkt bieten zu können begründet. Doch dem ist gar nicht der Fall, denn diese ausgewerteten und aufbereiteten Daten kann man weiter monetär ausschlachten und sie dabei einer Zweit- oder gar Drittverwertung verwenden.

Nichts zu verbergen

Jetzt werden die obligaten, einige wenige Personen reflexartig einwenden, dass sie nichts zu verbergen hätten. Gut warum habe ich ihre PIN Codes zu ihre Bankkarten noch nicht um mir den Gehalt für diesen Artikel selber zu nehmen? Dann kommt meistens der Gegeneinwand, es seine ja nur Metadaten. Nun aus diesen lässt sich der Tages und Lebensablauf einer Person gut lesen und sogar voraussagen. Die USA haben anhand der Metadaten den anscheinend gut versteckten Osama Bin-Laden aufgespürt. Mit der Hilfe von der Künstlichen Intelligenz (KI) lassen sich sehr viel versprechende Modelle auf ganze Bevölkerungsgruppen schließen. Dadurch kann man diese wieder manipulieren da man von ihnen digitale Zwillinge hat, an denen man ihr verhalten simuliert.

Von diesen Datenmodellen und Voraussagen ist nicht bloß die Werbewirtschaft interessiert sondern auch die Politik und Behörden. Wie weit die dazu berechtigt sind ist fast noch nicht geregelt und welche evtl. falsche Schlüsse mit weitreichenden Folgen das haben kann wurde schon des öfteren in Sciencefiction beschrieben, nur das es im jetzt ist.

Es ist also scheinheilig von der Digitalwirtschaft den Datenschutz hoch leben zu lassen wenn man ihn selber ignoriert oder mit lösungsorientiertem Fingerpointing auf die Konkurrenz sich selber abfeiert.

Change Your Password Day

Ach in diesem Jahr am 1. Feb. wird aus allen Ecken hervor beschworen, dass man sein Passwort ändern solle. Doch was nützt das wirklich wenn man das Passwort zwar ändert aber in ein weitere Schwaches. Bestimmt hast du schon davon gehört, dass ein Passwort aus mindestens acht (8) Zeichen bestehen soll und davon noch Groß- so wie Kleinbuchstaben und Zahlen garniert mit Sonderzeichen. OK so weit die Theorie doch dann nutzt man das selbe Passwort für alles mögliche weil man sich nur das merken kann. Da muss nur einmal das Passwort geknackt werden und wenn man noch zum Email Zugang hat, hat man Zugang auf dein ganzes digitales Leben.

Passwörter können z.B. durch Bruteforce Attacken geknackt werden und dabei lässt man Maschinell durch mehrfaches ausprobieren ganze geleakte Listen von Diensten durchlaufen. Wie lange oder besser gesagt schnell das geht zeigt die folgende gezeigte Grafik. Es lässt sich generell sagen, je länger und komplexer ein Passwort um so schwieriger für den Angreifer.

Passwort Sicherheit anhand ihrer Länge & Komplexität

Passwort Manager

Sichere Passwörter sind aber noch kein Schutz vor Phishing oder Keylogger Attacken. Trotzdem sollte man ein einzigartiges und langes zufälliges Passwort für jeden Dienst und App haben. Das kann man am besten mit einem Passwort-Manager generieren, verwalten, abrufen und verschlüsselt speichern. Dazu merkt man sich nur noch das Sichere Passwort vom Manager. Es gibt unzählige auf dem Markt aber für Einsteiger empfehle ich Bitwarden da diese einfach zu Bedienen ist und den nötigen Schutz bietet. Das generierte Passwort muss zufällig sein und min. 32 Zeichen lang und ja auch Klein- & Großbuchstaben, Zahlen so wie Sonderzeichen, das für jeden Dienst einzeln und neu.

Doch auch da macht es sich die Industrie zu einfach und spielt mit einem solchen “Gedenktag” auch nur den Ball zurück an deren Kunden. Wenn ich einen Dienst anbiete sollte ich, nein muss ich mich selber dazu verpflichten, die Passwörter sicher und nicht im Klartext zu speichern. Auch werden Mechanismen zur Erkennung von unerlaubten Zugriffen zu wenig verwendet. Dies lässt sich einfach über die Seite Have I Been Powned mit der eigenen Email oder Passwort (wird unkenntlich gehasht übertragen und nicht gespeichert) überprüfen.

Fazit

Solche Feiertage sind nichts weiter als Digitale Folklore und tragen nicht zu Lösung bei. Es sind hauptsächlich eine riesige Werbeveranstaltung in der sich die Tech.-Konzerne sich im besten Licht präsentieren wollen. Egal ob die ein Apfel als Logo oder Fenster im Betriebssystem haben. Am Ende des Tages ist man für seine Passwörter selber verantwortlich und man kann deren Schutz mit einem Passwortmanager und einer Zwei Faktor-Authentifizierung (2FA) erhöhen.

Gebt auf eures digitales Ich, euren Schutz dafür und euch selber acht! Denn gut Gemeint ist meistens das Gegenteil von gut gemacht.