Heute möchte ich etwas über meine Erfahrungen über den Einsatz von Linux als Entwicklungssystem berichten. Linux bietet Entwicklern viele Vorteile gegenüber dem Einsatz von z.B. Windows. Es gibt zwar Wege und Workarounds auf Windows-Systemen das Arbeiten erträglicher zu gestalten, doch oft merkt man, dass man mit Windows echt eingeschränkt arbeitet.
Disclaimer / Haftungsausschluss: Die Informationen und Angebote auf meinem Blog dienen nur zu Informationszwecken und können keine professionelle Beratung oder Dienstleistung ersetzen. Der Autor übernimmt keine Gewähr für die Aktualität, Richtigkeit und Vollständigkeit der bereitgestellten Inhalte. Die Nutzung und Inanspruchnahme der Informationen erfolgt auf eigene Verantwortung. Der Autor haftet nicht für eventuelle Schäden oder Verluste, die im Zusammenhang mit den bereitgestellten Angeboten entstehen. Die veröffentlichten Beiträge stellen die persönliche Meinung des Autors dar und spiegeln nicht zwangsläufig die Meinung von Dritten wider. Der Autor behält sich das Recht vor, die bereitgestellten Informationen und Angebote jederzeit und ohne vorherige Ankündigung zu ändern oder zu aktualisieren. Es handelt sich lediglich um Hilfestellungen zur eigenen Recherche.
Debian 12 als Distribution
Linux-Betriebssysteme gibt es in verschiedenen „Geschmacksrichtungen“. Das beginnt bei der Distribution (also die Basis des Betriebssystems) und geht weiter über die individuell einrichtbare Benutzeroberfläche. Ich nutze auf meinen Entwicklungsrechnern (PC-Workstation und Notebook) jeweils Debian als Distribution und als Benutzeroberfläche (auch Window-Manager genannt, kurz: WIM) das Projekt i3wm. Diese Wahl ist nicht ganz zufällig gewählt, sondern ergibt sich aus meinen Anforderungen. Die Entwickler und Community hinter Debian wird aktiv gepflegt, es werden stabile Systeme bereitgestellt und vor allem gibt es einen guten Support. Außerdem ist Debian eine freie und quelloffene Distribution (das heißt, dass sie komplett kostenlos ist und jeder mitentwickeln darf).
i3wm als Desktop
Mit meinem Window-Manager „i3wm“ habe ich gute Erfahrungen gemacht, denn es ist für die produktive Nutzung vorgesehen und alle Fenster lassen sich über Tastaturbefehle verschieben, in der Größe ändern, schließen usw. Zwar geht es auch mit der Maus, aber nach einer kurzen Eingewöhnung möchte man die Maus nur noch in bestimmten Fällen, z.B. für Web-Browsing nutzen. Der besondere Vorteil von i3wm ist allerdings, dass die Fenster so angeordnet werden, dass möglichst wenig Platz verloren geht und den gesamten Bildschirm ausfüllen.
Gängige Tastaturbefehle
Programme starten | |
⊞ Win + eingabe | Terminal / Befehlszeile öffnen |
⊞ Win + D | Programme suchen und öffnen |
Fensteroperationen | |
⊞ Win + umschalt ⇧ + Q | Aktuelles Fenster mit Fokus beenden |
⊞ Win + S | Fenster ineinander stapeln |
⊞ Win + E | Fenster nebeneinander darstellen |
⊞ Win + F | Fenster-Vollbildmodus umschalten |
Verschieben von Fenstern | |
⊞ Win + umschalt ⇧ + links | Fenster nach links verschieben |
⊞ Win + umschalt ⇧ + rechts | Fenster nach rechts verschieben |
⊞ Win + umschalt ⇧ + oben | Fenster nach oben verschieben |
⊞ Win + umschalt ⇧ + unten | Fenster nach unten verschieben |
Arbeiten mit Workspaces | |
⊞ Win + umschalt ⇧ + 1/2/3... | Fenster auf Workspace verschieben |
⊞ Win + 1/2/3... | Auf das Workspace wechseln |
Dies trifft auf die Standard-Tastaturbelegung für i3wm zu, welche aber auch nach eigenem Belieben frei geändert werden können. Außerdem bietet i3wm noch mehr Befehle mit, die man in der Dokumentation einsehen kann.
Sinnvolle Tools
Zum Schluss möchte ich noch einige Empfehlungen aussprechen, mit denen ich durch den täglichen Einsatz viel Zeit und Nerven gespart habe. Jeder kann ja für sich selbst entscheiden, ob ihm das Tool zusagt oder eben nicht. Über Empfehlungen über Werkzeuge, die ihr hier vermissen würdet, würde ich mich riesig freuen.
Tool / Werkzeug | Beschreibung |
---|---|
tldr | Zeigt einem die wichtigsten Argumente für einen beliebigen Befehl an. Es sozusagen wie eine Schnellstartanleitung um einen Befehl zu verstehen. |
lazydocker | Für die Personen die Docker nutzen könnte lazydocker gefallen. Es ist eine Möglichkeit um laufende Docker-Container auf einem System auf der Kommandozeile zu steuern – ohne Befehle eingeben zu müssen. |
ddev | Kinderleichter Entwicklungsserver auf Basis von Docker. Dies sorgt dafür, dass man Projekte schnell mit anderen Entwicklern teilen kann, da Docker für seine portierbarkeit bekannt ist. |
dog | Eine Verbesserung zum Systembefehl ‚dig‘, mit dem man DNS-Einträge abfragen kann. |
fish | Eine smarte und benutzerfreundliche Alternative zur klassishen Bash-Shell. |
zioxide | Mit dem Kurzbefehl ‚z‘ kann man schnell global zwischen Verzeichnissen wechseln, ohne den kompletten Pfad eingeben zu müssen. Es baut sich einen Suchindex auf und öffnet den Ordner, der am ehesten in Betracht kommen könnte. |
micro | Eine Verbesserung zum Dateieditor ’nano‘, welcher Syntax-Highlighting und benutzerfreundliche Tastaturbefehle nutzt. |
batcat | Dateien ausgeben mit Syntax-Highlighting. |