En minimalistisk Mac-terminal för Linux-fans
Jag har en bekännelse att göra: Jag har varit Mac-användare i mer än 10 år nu. Till en början kände jag lite skam med tanke på min starka Linuxbakgrund, men Mac ger mig ett Unix-liknande skal och en fantastisk fönsterhanterare. På grund av denna historia har jag en blandning av funktioner som kan köras på macOS men som känns bekanta för Linuxanvändare. Det finns ingen anledning till att det inte kan portera över till Linux (och det har det gjort!).
Användning av iTerm2 på en Mac
Under lång tid var min föredragna terminal den grundläggande inbyggda Terminal.appen, men jag har nyligen bytt till iTerm2 eftersom den har mycket bättre anpassnings- och profilstöd. En av dess viktigaste vinster för mig är att det är lätt att transplantera inställningar från Mac till Mac. För daglig användning föredrar jag temat Solarized Dark, men för presentationer har jag en separat profil som förstorar texten och använder en vanlig svart bakgrund med mer levande färger.
Det första jag gör för att göra iTerm2 användbar är att konfigurera pilarna Ctrl+Vänster och Ctrl+Högre så att de respekterar det klassiska terminalbeteendet att hoppa till början och slutet av en ordgräns. För att göra detta navigerar du till Inställningar > Profiler > Din profil > Tangenter och skriver in följande:
- Tangentbordsgenväg: ←
- Action: Skicka Escape-sekvens
- Esc+: b
Därefter den andra:
- Tangentbordsgenväg: ^→
- Aktion: Läs mer om vad du kan göra med iTerm2 och njut av den anpassade upplevelsen.
En enkel kommandoprompt
Jag är en av de tråkiga terminalpromptanvändarna. Jag inkluderar inte Git-katalogen eller exitkoden och jag använder bara en enda rad. Den enda tjusiga komponent jag använder är kubectx, som inkluderar den aktuella Kubernetes-kontexten. Som OpenShift Dedicated Site Reliability Engineer (SRE) måste jag köra kommandon med rätt kontext, och
kubectx
gör det enkelt att veta var jag befinner mig när jag skriver. Så min Bash PS1 är den tråkigausername@host cwd $
, bortsett från Kubernetes-kontextprefixet.Det råder ingen tvekan om att jag är på den minimalistiska sidan, jämfört med en del tjusiga terminaler som jag har sett. Vissa människor gillar transparens och andra föredrar mycket information på sina prompts – från tiden till exitkoden och allt annat. Jag tycker att det distraherar i mina terminaler, så jag njuter av dessa inställningar på avstånd.
Vackert komplexa dotfiles
Genom min minimalistiska terminal är det lätt att se var jag lägger mina maximalistiska ansträngningar: att distribuera mina dotfiles, inklusive min
.bash_profile
och min övergripande Mac-uppsättning.Jag använder en serie Makefiles, som finns på GitHub, för att hantera min Mac-uppsättning. Detta drar in min dotfile-specifika distributionsmekanism, som också finns på GitHub. Varför alla verktyg kring säkerhet frågar du dig? Både IT-proffs och hobbyister behöver ett robust sätt att lägga in säkra data på nya system. Kanske föredrar du att din SSH-konfiguration är dold, eller så distribuerar du autentiseringsuppgifter via ett system från en tredje part. Jag tycker att det är användbart att förvara mina säkra data tillsammans med allt annat, och jag löste det här problemet med Ansible Vault. Alla mina hemligheter lagras i Git och krypteras med Ansible Vault. Dekryptering hanteras med Makefiles.
Oavsett om jag installerar för första gången eller uppdaterar befintliga dotfiles måste jag (naturligtvis) ha Ansible Vault, och för att slippa installera det överallt lägger jag det i en container som jag kör med Docker, som jag faktiskt har installerat överallt. Jag lägger dekrypteringslösenordet i en fil,
run make
, och städar upp allt medmake clean
. (Du kan lära dig mer genom att utforska dotfiles.)Jag ska säga att detta hanteringssystem kan vara överdrivet, men vissa människor gillar komplicerade terminalprompter. Så i slutändan kanske det hela jämnar ut sig.