Dieser Beitrag befindet sich in Entstehung bzw. Überarbeitung (WIP - Work in Progress)

Dieser Beitrag ist lange überfällig. Immer wieder weise ich in Seminaren auf eine alternative Software und Shell/Terminal-Umsetzung auf meinen System hin. Allerdings zeige ich die Nutzungen dann immer in meinen Umgebungen oder als Screenshots und die Trainess fragen, wie diese Umgebungen entstehen.

Gewusst wie: Software und Terminal!
Gewusst wie: Software und Terminal!

Über die Jahre sind meine Deployments immer besser geworden, sodass ich auch live in Seminaren die Installationen und Konfigurationen zeigen konnte. Gerade aber hier zeigten sich dann immer mal kleine Hürden, die ich manuell auf den Dozentensystemen schnell ausbügeln musste. Hierfür greife ich auf diverse meiner Infoseiten und Portale zurück, die ich an dieser Stelle für das Thema "Software und Terminal" nutzen aufbereite.

Im Rahmen meiner Ausarbeitungen rund um meine PowerShell Seminare habe ich die Ausarbeitungen für Linux und Windows abgeglichen und will die Softwareauswahl, die Softwarebereitstellung und die Konfigurationen an dieser Stelle präsentieren. Hierbei gibt es folgende plattform-unabhängige Vorgaben meinerseits:

  • SMALL: Schlanke und performantes Deployments und schlanke , performatnteTools (small footprint)
  • PUBLIC: Öffentliche Verfügbarkeit für Trainees und Interessierte mit Möglichkeiten zur individuellen Anpassung (ohne Forks)
  • EASY: Einfache Bereitstellung und Nutzung (Shortcuts) mittels Git-Repos und unkomplizierten Bereitstellungs-Skripten (KISS Prinzip)
  • CLI: Konzentration auf das Terminal - die Shells - von Linux oder Windows.
  • OPEN: Einsatz von plattform-unabhängiger Open-Source bzw. freier quelloffener Software zur Stärkung digitaler Souveränität

Ich habe kurz überlegt ein Akronym für das Projekt zu zaubern: SPECO 😜. Aber schnell zurück zu meinen Umsetzungen. Ich konzentriere mich also auf eine Grundausstattung der beiden maßgeblichen Betriebssysteme mit Terminalumsetzungen. 

Die folgenden Darstellungen reißen die verschiedenen Topics an und stellen die notwendigen Informationen bereit. Diese will ich Interessieten natürlich uach gerne in praktischen Seminarumsetzungen vermitteln und erläutern. Anmerkung für Mac-User: bitte an den Linux-Ausführungen orientieren. Wenn mich Mac-User in Seminaren nach Lösungen fragen, dann bitte ich sie ein Terminal zu öffnen und dann sehen wir mal!

Schauen wir uns die unterschiedlichen Kategorien für unsere Systeme an.


Betriebssysteme

Ich konzentriere mich in meiner eigenen Nutzung auf freie und offene Software und habe daher natürlich Linux-Systeme in der täglichen Nutzung (Daily Driver). Aber Microsoft Windows ist als quasi Betriebssystemmonopol natürlich immer von Interesse. Beispielsweise ergeben die klassischen Enterprise Einsätze von Windows und Windows Server im AD mit der PowerShell sehr effiziente Umsetzungen.

  • [WIN] Microsoft Windows 11 und/oder Windows Server
    Repo: https://codeberg.org/joebrandes/WindowsPowerShell (Ausstattung SW und Grundkonfiguration WindowsPowerShell-Profil)
  • [LIN] Debian - nach Jahrzehnten Distrohopping hat sich der Kreis quasi für mich geschlossen und Debian macht auch schulungstechnisch für mich/uns am meisten Sinn.
    Repo: https://codeberg.org/joebrandes/dotfiles/ (Schwerpunkt mit Windowmanager Sway parallel zu Standarddesktop Gnome und CLI Tool Configs) 
    Alternative Linux-Distros bzw. Familien in Seminarumgebungen siehe meine Ausarbeitungen Linux Seminare und Workshops auf diesem Webportal.

Shell

Die Shells stellen den Ansprechpartner für unsere Kommunikation mit den Betriebssystemen dar. In der Linux/Unix-Welt können wir auf eine große Auswahl verschiedenster Shells zurückgreifen. In der Windows-Welt haben wir die PowerShell.

  • [WIN] PowerShell - keinerlei Alternative! Und nein  - die CMD ist keine Shell!
    Website: https://learn.microsoft.com/de-de/powershell/ 
  • [LIN] Bash (Bourne Again Shell) - Standardshell auf nahezu allen Linux-Distros
    Wikipedia: https://de.wikipedia.org/wiki/Bash_(Shell)
    Alternativen: Zsh, Fish, Ksh -
    Anm.: ich konzentriere mich wieder auf die Bash aus Gründen der Shell-Skript-Kompatibilität und um in Seminaren unabhängig von Distros eine relativ gleiche Umgebung zur erhalten.

Terminal

In Linux/Unix findet sich das echt Terminal (tty) als Konsole ohne Grafikumgebung. Alle anderen Nutzungen finden eingebettet in einen Terminal-Emulator - oder kurz Terminal - statt. Auch hier haben wir in der Linux-Welt eine große Auswahl.

  • [WIN] Windows Terminal (wt) - eine App aus dem Microsoft Store, die außer der PowerShell auch beliebige andere Shells beheimaten kann. Da man auf Windows Systemen nur die PowerShell als Shell einsetzt, hat hier die Kompatibilität den größten Stellenwert und wird eben durch das Windows Terminal erfüllt.
    Website: https://learn.microsoft.com/de-de/windows/terminal/ 
  • [LIN] Bei der Auswahl des Terminals auf Linux-Systemen wird es sehr schnell unübersichtlich. Und es existieren Terminals die auch plattformunabhängig auf Windows eingesetzt werden könten. Meine Wahl trifft seit Jahren auf Kitty - ich mag Speed, Font- und Graphics-Support, Dokumentation und Konfiguration.
    Website: https://sw.kovidgoyal.net/kitty/ 
    Alternativen LIN: Alacritty, Ghostty (https://blog.codeminer42.com/modern-terminals-alacritty-kitty-and-ghostty/)

Multiplexer

Die meisten User, die die ersten Schritte in einem Terminal unternehmen fühlen sich eingeschränkt, was das Wechseln zwischen Shell-Umgebungen (Ordner) oder Entwicklungstools (CLI-Editor, Make/Build-Tools) angeht. Hier können Multiplexer die Effizienz stark verbessern und lassen grafische Umsetzungen verblassen und alt aussehen. Dabei sind die Multiplexer ja die Klassiker! Am Ende starte ich im Terminal einfach eine Umgebung, die automatisch alle meine gewünschten Ordner und Tools bereitstellt. Gerne auch inklusive geöffnetem Editor oder auch einer SSH-Verbindung.


Prompt

Unser Terminal hat eine Eingabezeile und diese wird mit einem Prompt gestylt. Im besten Fall haben wir in der Zeile gleich alle uns interessierenden relevanten Daten im Blick. Neben einfachen Benutzer- oder Datumsinformationen möchten wir auch gerne unsere Technikumgebungen erläutert bekommen: Git-Status, Script-Versionen, Container als Beispiel. Und natürlich darf die Zeile auch grafisch ansprechend daherkommen.

Die Eigenschaft plattformunbhängig gilt für alle weiteren Programme!


CLI Tools

Im Idealfall können alle Tools mit denselben Konfigurationen gestylt werden. Die meisten der folgenden Anreißertexte zu den Tools entstammen den jeweiligen Onlineseiten und wurden für diese Ausarbeitung ins Deutsche übertragen. Und los geht es mit einem kleinen Infotool.

Und wie immer gilt folgende Anmerkung:

Die Auflistungen erheben keinen Anspruch auf Vollständigkeit! Wäre ja auch ziemlich vermessen.
 

 


 Fastfetch

... der legitime Nachfolger von Neofetch

Fastfetch ist ein Neofetch-ähnliches Tool zum Abrufen von Systeminformationen und deren visuell ansprechender Darstellung. Es ist größtenteils in C geschrieben, mit Fokus auf Leistung und Anpassbarkeit. Derzeit unterstützt es Linux, macOS, Windows 8.1+, Android, FreeBSD, OpenBSD, NetBSD, DragonFly, Haiku und SunOS (illumos, Solaris). Hinweis: Fastfetch wird derzeit vor allem auf x86-64- und aarch64-Plattformen getestet. Es kann auf anderen Plattformen funktionieren, ist jedoch nicht garantiert.


FZF

... der Fuzzy Finder für wirklich alle Infos im Terminal oder Terminalprogrammen

fzf Beschreibung von Website: Ob Sie Dateien auswählen, den Befehlsverlauf durchsuchen, Daten in der Vorschau anzeigen, komplexe Datensätze mit Fuzzy-Matching navigieren oder benutzerdefinierte Menüs und Workflows erstellen – fzf bietet die Bausteine, um Shell-Skripte in leistungsstarke Terminalanwendungen zu verwandeln.

Highlights:

  • Portabel // Wird als einzelne Binärdatei für eine einfache Installation bereitgestellt
  • Schnell // Optimiert für die Verarbeitung von Millionen von Elementen in Millisekunden
  • Programmierbar // Ereignisgesteuerte Architektur zum Erstellen benutzerdefinierter Terminaloberflächen und Workflows
  • Umfassende Integrationen // Enthält Integrationen für Bash, Zsh, Fish, Nushell, Vim und Neovim

Ripgrep

... cleverer und schneller Grep-Mechanismus

Ripgrep – Durchsuchen, Analysieren und Optimieren Sie Ihren Code

Ripgrep ist ein leistungsstarkes Suchwerkzeug für die Kommandozeile, das Verzeichnisse rekursiv nach Regex-Mustern durchsucht. Es liefert blitzschnelle Suchergebnisse, berücksichtigt .gitignore-Regeln und ermöglicht eine effiziente Code-Navigation. Dank seiner Kompatibilität mit diversen Betriebssystemen verleiht Ripgrep sowohl Einsteigern als auch erfahrenen Entwicklern die Sicherheit, Code über Projekte jeder Größenordnung hinweg effizient zu durchsuchen, zu analysieren und zu verwalten.


Zoxide

... das bessere cd

zoxide ist ein intelligenterer Befehl für das Verzeichnis cd, inspiriert von z und autojump.Er merkt sich Ihre am häufigsten verwendeten Verzeichnisse, sodass Sie mit wenigen Tastendrücken dorthin springen können. zoxide funktioniert mit allen gängigen Shells.


Jq

... das Schweizer Messer für JSON

jq ist ein schlanker und flexibler JSON-Prozessor für die Kommandozeile.jq ist wie sed für JSON-Daten – Sie können damit strukturierte Daten zerlegen, filtern, abbilden und transformieren, und zwar mit derselben Leichtigkeit, mit der Sie sed, awk, grep und Co den Umgang mit Texten ermöglichen. 


Eza

... das bessere ls Werkzeug

  • Website: https://eza.rocks/ 
  • Windows Install: winget install --id eza-community.eza 

eza ist ein moderner, gepflegter Ersatz für das ehrwürdige Befehlszeilenprogramm ls zur Dateiauflistung, das standardmäßig mit Unix- und Linux-Betriebssystemen ausgeliefert wird; es bietet mehr Funktionen und bessere Standardeinstellungen. Es nutzt Farben, um Dateitypen und Metadaten optisch voneinander abzuheben. Zudem unterstützt es symbolische Links, erweiterte Attribute und Git. Und es ist klein, schnell und besteht aus lediglich einer einzigen Binärdatei. 


Poppler

... der Helfer für PS/PDF / Yazi PDF Previews

 Poppler ist eine PDF-Rendering-Bibliothek, die auf der Codebasis von xpdf-3.0 basiert.


FDfind

... das bessere find (eigentlich nur Linux)

fd ist ein Programm zum Auffinden von Einträgen in Ihrem Dateisystem. Es stellt eine einfache, schnelle und benutzerfreundliche Alternative zu find dar. Auch wenn es nicht darauf abzielt, den gesamten mächtigen Funktionsumfang von find abzudecken, bietet es für die Mehrzahl der Anwendungsfälle sinnvolle (und bewusst getroffene) Standardeinstellungen. 


Bat

... das besser cat bzw. Get-Content / Beachten: bei Debian wird das Tool mit command batcat (statt bat) ausgeliefert (Alias erstellen)

bat unterstützt Syntax-Hervorhebung für eine große Anzahl von Programmier- und Auszeichnungssprachen.


Yazi

... der Filemanager für die Konsole

Yazi – ⚡️ Rasend schneller Terminal-Dateimanager

Yazi (bedeutet „Ente“) ist ein in Rust geschriebener Terminal-Dateimanager, der auf nicht-blockierendem asynchronem I/O basiert. Er hat das Ziel, eine effiziente, benutzerfreundliche und anpassbare Dateiverwaltung zu bieten.


qView

... superschneller kleiner Viewer für Grafikformate

qView ist ein Bildbetrachter, der auf Minimalismus und Benutzerfreundlichkeit ausgelegt ist. 


JPEGview

... ein Viewer mit Speed / Tool für Yazi Previews

Ein Fork von JPEGView von David Kleiner – ein schneller und hochgradig konfigurierbarer Viewer und Editor für JPEG-, BMP-, PNG-, WEBP-, TGA-, GIF- und TIFF-Bilder mit einer minimalistischen Benutzeroberfläche. Es stehen grundlegende Funktionen zur Bildbearbeitung „on-the-fly“ zur Verfügung, die das Anpassen typischer Parameter wie Schärfe, Farbbalance, Rotation, Perspektive, Kontrast sowie lokaler Unter- und Überbelichtung ermöglichen.


7-zip

... der Standardprofi für GUI aber natürlich auch für die Konsole!

7-Zip ist freie Open-Source-Software. Der Großteil des Codes steht unter der GNU LGPL-Lizenz. Einige Teile des Codes unterliegen der 3-Klausel-BSD-Lizenz. Zudem bestehen für bestimmte Code-Teile Lizenzbeschränkungen gemäß der unRAR-Lizenz. Bitte lesen Sie die Lizenzinformationen zu 7-Zip. Sie dürfen 7-Zip auf jedem beliebigen Computer verwenden – einschließlich Computern in kommerziellen Organisationen. Für die Nutzung von 7-Zip ist weder eine Registrierung noch eine Zahlung erforderlich.


CLI Editor

Textbearbeitung in der CLI...

 

 

 


VIm

 

 


Neovim

 

 


GUI Editor

Textbearbeitung in der GUI...

 

 


VS Code

 

 

 


Notepad++

 

 

 


Programmierung

Skripting und Programmierung...

 


PowerShell

 

 


Python

Oder genauer gesagt: Python3

 


Lua

 

 


gcc/make

 

 

 


Fonts

Infos zu Schriftarten und Co...

 

 


Nerdfonts

 

 


Theming

Und jetzt sollte das Ganze auch noch einigermaßen farblich stimmen.

Nord

Catppuccin

 

 

 


Software Matrix

 Eine Übersicht zu den fraglichen Techniken und Softwareprodukten: Anmerkungen aus engl. Original README-FULL.md meines WindowsPowerShell-Repos. Die Installationen für Windows mit Tool `winget` werden unten bei den einzelnen Tools aufgelistet.

UsecaseProgramDeployLinux Status / DEBWindows StatusRemarks
Shell PowerShell
Bash
💿 Bash PS 5.x Standard Shells in Linux and Windows 11
You may use PowerShell 7.x??
Terminal WT
Kitty
💿 Gnome Terminal
Xterm
WT Windows Terminal - Modern, Fast, Flexible
Terminalalternatives in Linux
Multiplexer Tmux
Psmux
📦 tmux Linux Standard: TmuxMy
Windows Alternative with ESC-Probs!!
Prompt Starship 📦 starship Config ~/.config/starship.toml
Config with one file
  Oh-My-Posh 📦 Install via curl Configs, Theming, Fonts
More styling possible than Starship
  Fastfetch 📦 fastfetch Info Environment
the modern alternative to neofetch
CLI Tools FZF 📦 fzf Fuzzy Finder
the ultimate Swiss Knife for the console
  Ripgrep 📦 ripgrep A Quick and modern grep tool
partner of fzf, fd-find
  Zoxide 📦 zoxide The better cd command
partner of yazi, with fzf, fd-find
  Jq 📦 jq Handling Json in the command line
needed for docker, apis, ...
  Eza 📦 eza The better ls
make some Aliases - Themes via Git Repo
  Poppler 📦 zathura-pdf-poppler 🔒 VCRedist Toll for Handling of PDF/PS
generates previews (Yazi)
  FDFind 📦 fd-find 🔒 VCRedist A Quick and modern finder
partner of fzf or yazi
  Bat 📦 bat 🔒 VCredist The better cat 
in Debian: batcat (do Alias)
  Yazi 📦 Release-DL 🔒 VCRedist Instead of Ranger, vifm, lfm, ...
faster, modern, ...
  qView 📦 Flatpak 🔒 VCRedist Modern Graphics Viewer - very quick
Make it Win Standard!
  JPEGview 📦 div Alt. 🔒 ADMIN JPEG Viewer - CLI Version availablei
Needed for Windows Yazi
  7-zip 📦 7zip 🔒 ADMIN The Swiss Knife for archives - CLI Version of 7zip-Gui
CLI Editor VIm (📦) VI / VIm SEE GIT BIN The Classic - provided by Git!
i Offer basic config and plugins
  Neovim 📦 curl Releases 🔒 ADMIN The modern Way
Config via Lua and Lazy.nvim or vim.pack
GUI Editor VS Code 📦 MS Repo winget installs User-Profile Variante
switch VS Codium later!
  Notepad++ 📦 notepadqq 🔒 ADMIN Classic GUI Editor - small, clever, fast
Nice to have!
Programming Python3 📦 python3-full 🔒 Not in Instll-Scripts! Venvs
python3 -m pip install...
  Lua 📜📦 lua5.4 luajit
luarocks
🔒 Neovim LSP Env via Mason
Packages: lua5.4, luarocks
  gcc / make 📦 je nach
Aufwand
🔒 The usual stuff for building code
Fonts Nerdfonts 📜📦   oh-my-posh font install
Meslo, Firacode, ...
Theming Nord 📜 Div Packages via DL or installs
see: nordtheme.com or (alt) catppuccin

Agenda / Deployment-methods:

  • 💿 Base Installs on Windows 11
  • 📦 Deployment via Microsoft Windows Winget Package Management
  • 📜 Scripts or configs
  • Status: ✅ OK - 🚫 Not Available - 🔒 Available (Admin-Installs)

 

 Ihr Trainer Joe Brandes

Privates

... zu Joe Brandes

Sie finden auf dieser Seite - als auch auf meiner privaten Visitenkarte joe-brandes.de einige Hintergrundinformationen zu mir und meinem Background.
Natürlich stellt die IT einen Schwerpunkt in meinem Leben dar - aber eben nicht nur ...

joe brandes 600px

Private Visitenkarte / Technik: HTML & CSS
joe-brandes.de

Jobs

... IT-Trainer & Dozent

Ich erarbeite und konzipiere seit über 30 Jahren IT-Seminare und -Konzepte. Hierfür stehen der "PC-Systembetreuer / FITSN" und der "CMS Online Designer / CMSOD". Ich stehe Ihnen gerne als Ansprechpartner für Ihre Fragen rund um diese und andere IT-Themen zur Verfügung!

becss 600px

BECSS Visitenkarte / Technik: HTML & CSS
becss.de

Hobby

... Snooker & more

Wer einmal zum Snookerqueue gegriffen hat, der wird es wohl nicht wieder weglegen. Und ich spiele auch immer wieder gerne eine Partie Billard mit den Kumpels und Vereinskameraden. Der Verein freut sich über jeden, der einmal in unserem schicken Vereinsheim vorbeischauen möchte.

bsb 2011 600px

Billard Sport BS / nicht mehr von mir betreut
billard-sport-braunschweig.de

Wir benutzen ein CMS also auch Cookies
Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website zu nutzen. Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.