Ubuntu 26.04 bringt GNOME 50 und damit Ptyxis als Standard-Terminal (Wayland-nativ). install.sh legt die Palette als ~/.local/share/org.gnome.Ptyxis/palettes/KalinaCI.palette ab und haengt sie per gsettings (relocatable Schema org.gnome.Ptyxis.Profile) an jedes Profil; ohne Profil nennt es den Weg von Hand. Neue Vorlage shell/palettes/KalinaCI.palette, README-Abschnitt mit echtem Wayland-Screenshot (74,9 % Tinte, 11,9 % Titelbar, ANSI-Farben innerhalb 2/255).
5.4 KiB
Kalina CI in der Shell
Prompt und Terminal-Palette in derselben Farbwelt wie das VS-Code-Theme
(themes/kalina-ci-dark.json). Der Prompt ist ein eigenstaendiges zsh-Modul,
kein oh-my-zsh und kein powerlevel10k noetig.
┌─ kalina ~/kalina-ci · main ✚1 ✎2 · 4.2s
└─ ❯
| Farbe | Wert | Rolle |
|---|---|---|
| Tinte | #0B0F14 |
Flaeche |
| Knochenweiss | #F5F5EF |
Text, Pfad |
| Markenrot | #C1121F |
nur Grafik (Pfeil, Cursor) — 3,09:1 auf Tinte |
| Text-Rot | #E0454F |
Fehlercode, Akzent — 4,70:1 auf Tinte |
| Salbei | #7FA88C |
nur Git „hinzugefuegt" |
| Steel | #3A4250 |
Linien |
| Muted | #8A94A2 |
Hostname |
zsh ist Pflicht
Der Prompt ist zsh-Syntax in ~/.zshrc. In bash, fish oder sh passiert nichts — auch dann
nicht, wenn die Datei korrekt geschrieben wurde. Deshalb:
- Fehlt zsh, installiert
install.shihn selbst —apt-get,dnf,pacman,zypperoderapk, je nach System. Der Versuch steht als erste Zeile im Shell-Teil. - Geht das nicht (kein bekannter Paketmanager, oder
sudoverlangt ein Passwort ohne-n), bricht der Shell-Teil vor dem ersten Schreibzugriff ab, nennt den genauen Befehl und endet mit Exit 1.~/.zshrcbleibt dann unangetastet — ein Eintrag dort waere in bash ohnehin wirkungslos. - Login-Shell:
chsh -s <zsh>laeuft am Ende (abschaltbar mit--no-chsh). Wirksam wird es erst in der naechsten Sitzung:exec zshfuer sofort, sonst neu einloggen.
Wer zsh von Hand nachzieht:
sudo apt-get install -y zsh # Debian/Ubuntu
sudo dnf install -y zsh # Fedora
sudo pacman -S --needed zsh # Arch
sudo zypper install -y zsh # openSUSE
sudo apk add zsh # Alpine
bash install.sh # danach erneut
Installation auf einer neuen Maschine
# oder direkt, ohne Klon (Repo ist oeffentlich lesbar):
# curl -fsSLo install.sh https://gitea.m-m.bio/mm/kalina-ci/raw/branch/main/shell/install.sh
git clone https://gitea.m-m.bio/mm/kalina-ci.git
cd kalina-ci/shell
./install.sh --dry-run # zeigen, was passieren wuerde
./install.sh # ausfuehren
Das Skript ist idempotent, sichert jede Datei nach .vor-kalina-ci-<stempel>
und laesst sich in Teilen fahren:
| Schalter | Wirkung |
|---|---|
--dry-run |
nichts schreiben, nur anzeigen |
--shell-only |
nur zsh + Prompt |
--terminal-only |
nur Terminal-Palette |
--no-chsh |
Login-Shell nicht umstellen (Prompt bleibt, bis du zsh startest) |
Erkannt und eingerichtet werden: foot (~/.config/foot/foot.ini,
[colors-dark]), qterminal (~/.local/share/qterminal-ci/…/KalinaCI.colorscheme
plus ~/.config/qterminal.org/qterminal.ini und ein environment.d-Eintrag,
weil qtermwidget6 nur XDG_DATA_DIRS durchsucht), xfce4-terminal
(~/.config/xfce4/terminal/terminalrc und xfconf-query, sonst gewinnt
das GTK-Theme) sowie xterm (~/.Xresources, aktiv nach xrdb -merge).
Ptyxis — seit Ubuntu 26.04 das Standard-Terminal (GNOME 50, Wayland-nativ) — wird zusaetzlich
eingerichtet, wenn es neben einem der anderen liegt: Palette als Datei nach
~/.local/share/org.gnome.Ptyxis/palettes/KalinaCI.palette, dann per gsettings an jedes
vorhandene Profil gehaengt:
gsettings set "org.gnome.Ptyxis.Profile:/org/gnome/Ptyxis/Profiles/<uuid>/" palette "KalinaCI"
Die UUIDs stehen in gsettings get org.gnome.Ptyxis profile-uuids. Vor dem ersten Start von
Ptyxis gibt es kein Profil — dann legt das Skript nur die Datei ab und nennt den Weg von Hand
(Einstellungen → Aussehen → Palette, gegebenenfalls „Alle Paletten anzeigen"). Die Vorlage
allein, ohne Skript:
mkdir -p ~/.local/share/org.gnome.Ptyxis/palettes
curl -fsSLo ~/.local/share/org.gnome.Ptyxis/palettes/KalinaCI.palette \
https://gitea.m-m.bio/mm/kalina-ci/raw/branch/main/shell/palettes/KalinaCI.palette
shell/palettes/KalinaCI.palette ist die Vorlage; der Heredoc-Block in install.sh traegt
dieselben Werte und muss beim Aendern mitgezogen werden.
Schalter im Prompt
| Variable | Wirkung |
|---|---|
KALINA_CI_PROMPT=0 |
Prompt abschalten (Modul wird nicht geladen) |
KALINA_CI_NO_NEWLINE=1 |
keine Leerzeile vor dem Prompt |
KALINA_CI_TRUECOLOR=0|1 |
Farbmodus erzwingen (sonst Automatik) |
Fallen, die beim Ausrollen aufgefallen sind
- Truecolor kommt per SSH nicht an.
COLORTERMwird nicht uebertragen, remote greift der 256-Farben-Ersatz (231/145/60/161 statt exakt). Das ist gewollt. - Der erste Prompt darf kein
✗1zeigen.precmdliest$?aus dem Ende der.zshrc; das Modul setzt den ersten echten Prompt deshalb auf 0. - p10k wird abgeloest, nicht umgef aerbt. Wer
~/.p10k.zshbehaelt, mussZSH_THEME=""setzen und die Instant-Prompt-Zeilen samtfiauskommentieren — sonst startet jede Shell mitparse error near 'fi'. - Ubuntu 26: Ptyxis statt GNOME Terminal. Die Palette ist eine GKeyFile-Datei im Benutzerverzeichnis, die Auswahl haengt aber am Profil (dconf) — Datei allein aendert nichts.
gsettingsbraucht das relocatable Schema.org.gnome.Ptyxis.Profileist ohne Pfad nicht adressierbar; der Aufruf mussorg.gnome.Ptyxis.Profile:/org/gnome/Ptyxis/Profiles/<uuid>/heissen, sonst bricht er mit „is relocatable and needs a :path" ab.- Login-Shell-Wechsel: nicht-interaktive zsh-Aufrufe (
ssh host '…') brechen bei leerem Glob ab, bash nicht. Das Modul setzt deshalbno_nomatchin~/.zshenv.