Ein minimalistisches Mac-Terminal für Linux-Fans
Ich muss ein Geständnis machen: Ich bin seit mehr als 10 Jahren Mac-Nutzer. Zuerst habe ich mich ein wenig geschämt, da ich einen starken Linux-Hintergrund habe, aber der Mac bietet mir eine Unix-ähnliche Shell und einen großartigen Fenstermanager. Aufgrund dieser Geschichte habe ich eine Mischung aus Funktionen, die unter macOS laufen, sich aber für Linux-Benutzer vertraut anfühlen. Es gibt keinen Grund, warum es nicht auf Linux portiert werden kann (und das hat es auch!).
Verwenden von iTerm2 auf dem Mac
Lange Zeit war mein bevorzugtes Terminal die eingebaute Terminal.app, aber vor kurzem bin ich auf iTerm2 umgestiegen, weil es viel besser angepasst werden kann und Profile unterstützt. Einer der Hauptvorteile ist für mich, dass es einfach ist, Einstellungen von Mac zu Mac zu übertragen. Für den täglichen Gebrauch bevorzuge ich das Thema „Solarized Dark“, aber für Präsentationen habe ich ein separates Profil, das den Text vergrößert und einen schlichten schwarzen Hintergrund mit lebhafteren Farben verwendet.
Das erste, was ich tue, um iTerm2 benutzbar zu machen, ist, die Pfeile Strg+Links und Strg+Rechts so zu konfigurieren, dass sie das klassische Terminal-Verhalten des Sprungs zum Anfang und Ende einer Wortgrenze respektieren. Navigieren Sie dazu zu Einstellungen > Profile > Ihr Profil > Tasten und geben Sie Folgendes ein:
- Tastenkürzel: ^←
- Aktion: Send Escape Sequence
- Esc+: b
Dann die andere:
- Tastaturkürzel: ^→
- Aktion: Escape-Sequenz senden
- Esc+: f
Erfahren Sie mehr darüber, was Sie mit iTerm2 tun können, und genießen Sie die benutzerdefinierte Erfahrung.
Eine einfache Eingabeaufforderung
Ich bin einer dieser langweiligen Terminal-Prompt-Nutzer. Ich gebe kein Git-Verzeichnis oder Exit-Code an und verwende nur eine einzige Zeile. Die einzige ausgefallene Komponente, die ich verwende, ist kubectx, das den aktuellen Kubernetes-Kontext enthält. Als OpenShift Dedicated Site Reliability Engineer (SRE) muss ich Befehle mit dem entsprechenden Kontext ausführen, und kubectx
macht es einfach zu wissen, wo ich mich befinde, wenn ich tippe. Mein Bash-PS1 ist also das langweilige username@host cwd $
, mit Ausnahme des Kubernetes-Kontextpräfixes.
Es besteht kein Zweifel daran, dass ich im Vergleich zu einigen ausgefallenen Terminals, die ich gesehen habe, eher minimalistisch bin. Manche Leute mögen Transparenz, und andere bevorzugen viele Informationen auf ihren Eingabeaufforderungen – von der Uhrzeit bis zum Exit-Code und allem anderen. Ich finde es in meinen Terminals ablenkend, also genieße ich diese Setups aus der Ferne.
Schön komplexe Dotfiles
Im Vergleich zu meinem minimalistischen Terminal ist es einfach zu sehen, wo ich meine maximalistischen Bemühungen einsetze: die Bereitstellung meiner Dotfiles, einschließlich meiner .bash_profile
und meines gesamten Mac-Setups.
Ich verwende eine Reihe von Makefiles, die über GitHub gehostet werden, um mein Mac-Setup zu verwalten. Dies bezieht meinen dotfile-spezifischen Deployment-Mechanismus mit ein, der sich ebenfalls auf GitHub befindet. Sie fragen sich, wozu all diese Werkzeuge für die Sicherheit? IT-Profis und Hobbyisten brauchen eine robuste Methode, um sichere Daten auf neue Systeme zu übertragen. Vielleicht ziehen Sie es vor, Ihre SSH-Konfiguration zu verbergen, oder Sie stellen Ihre Anmeldedaten über ein System eines Drittanbieters bereit. Ich halte es für sinnvoll, meine sicheren Daten zusammen mit allem anderen aufzubewahren, und ich habe dieses Problem mit Ansible Vault gelöst. Alle meine Geheimnisse sind in Git gespeichert und mit Ansible Vault verschlüsselt. Die Entschlüsselung erfolgt mit Makefiles.
Ob ich nun zum ersten Mal installiere oder bestehende Dotfiles aktualisiere, ich muss (natürlich) Ansible Vault haben, und um zu vermeiden, dass ich es überall installieren muss, habe ich es in einen Container gelegt, den ich mit Docker ausführe, das ich überall installiert habe. Ich lege die Entschlüsselungspassphrase in eine Datei, run make
, und bereinige alles mit make clean
. (Sie können mehr erfahren, indem Sie die Dotfiles erforschen.)
Ich muss sagen, dass dieses Verwaltungsschema vielleicht etwas übertrieben ist, aber manche Leute mögen komplizierte Terminal-Eingabeaufforderungen. Unterm Strich gleicht sich das Ganze also vielleicht aus.