Situatie
Zsh devine mai usor de utilizat decat Bash-ul simplu odata ce doriti completare mai buna, istoric partajat si prompturi care afiseaza context util fara efort suplimentar. Sursele APT implicite ale Debian fac deja simpla instalarea Zsh pe Debian 13, 12 si 11.
De acolo, puteti mentine shell-ul simplu, adauga plugin-uri ambalate de Debian pentru sugestii si evidentierea sintaxei, sau adauga Oh My Zsh deasupra cand doriti gestionare mai rapida a temelor si plugin-urilor.
Alegerea metodei de instalare Zsh
| Metoda | Sursa sau canalul | Comportament actualizari | Potrivit pentru |
|---|---|---|---|
| Zsh de baza | Sursele APT implicite Debian | Actualizari odata cu pachetele Debian | Un shell interactiv mai bun cu o configuratie usoara |
| Zsh + plugin-uri ambalate | Sursele APT implicite Debian | Zsh si pachetele de plugin-uri se actualizeaza prin APT | Sugestii si evidentierea sintaxei gestionate prin APT |
| Zsh + Oh My Zsh | Pachetul zsh Debian plus instalatorul upstream Oh My Zsh | Zsh se actualizeaza prin APT; framework-ul si plugin-urile clonate se actualizeaza separat | Teme, gestionarea plugin-urilor si personalizarea mai rapida a promptului |
- Alegeti Zsh de baza daca doriti upgrade-ul shell-ului fara a adauga un framework suplimentar
- Alegeti plugin-urile ambalate Debian daca doriti sugestii de istoric si evidentierea sintaxei mentinand totul sub APT
- Alegeti Oh My Zsh daca doriti teme, un ecosistem mai mare de plugin-uri si personalizare mai usoara a promptului.
Solutie
Pasi de urmat
Instalarea Zsh din repository-urile implicite Debian
Reimprospatati mai intai metadatele APT, apoi instalati pachetul shell:
sudo apt update
sudo apt install zsh -y
Flag-ul -y raspunde automat la promptul de confirmare. Output relevant include:
Installing:
zsh
Installing dependencies:
zsh-common
Setting up zsh-common (5.9-8) ...
Setting up zsh (5.9-8+b23) ...
Verificati versiunea instalata:
zsh --version
zsh 5.9 (x86_64-debian-linux-gnu)Rularea wizard-ului de prima pornire Zsh pe Debian
Prima data cand lansati Zsh fara un fisier ~/.zshrc, Debian porneste wizard-ul integrat zsh-newuser-install:
zshOutput relevant incepe cu:
This is the Z Shell configuration function for new users,zsh-newuser-install.
...
(q) Quit and do nothing.
(0) Exit, creating the file ~/.zshrc containing just a comment.
(1) Continue to the main menu.
(2) Populate your ~/.zshrc with the configuration recommended
by the system administrator and exit.
- Folositi
qdaca vreti doar sa testati Zsh si sa decideti mai tarziu - Folositi
0daca doriti un~/.zshrcgol si planificati sa construiti configuratia manual - Folositi
1daca vreti sa ajustati istoricul, completarea si legaturile de taste din meniurile interactive - Folositi
2daca doriti configuratia starter Debian imediat.
Instalarea pachetelor de plugin-uri Zsh pe Debian
Debian ambaleaza cele mai comune doua plugin-uri Zsh pentru calitatea utilizarii, astfel incat puteti mentine auto-sugestiile si evidentierea sintaxei sub APT in loc sa le gestionati manual:
sudo apt install zsh-autosuggestions zsh-syntax-highlighting -yOutput relevant include:
Installing: zsh-autosuggestions zsh-syntax-highlighting
Setting up zsh-autosuggestions (0.7.1-1) ...
Setting up zsh-syntax-highlighting (0.8.0-2) ...
Adaugarea scripturilor de plugin Debian in .zshrc
Debian instaleaza ambele fisiere de intrare ale plugin-urilor sub /usr/share, deci adaugati aceste linii aproape de sfarsitul ~/.zshrc:
source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zshsource /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
Porniti o sesiune noua Zsh pentru a testa modificarea:
zsh
Instalarea Oh My Zsh pe Debian
Oh My Zsh este calea rapida cand doriti teme, un catalog mai mare de plugin-uri si o structura mai curata pentru gestionarea configuratiei Zsh pe Debian.
Instalarea prerequisitelor Oh My Zsh pe Debian
Instalatorul cloneaza framework-ul cu Git si descarca scriptul de setup cu curl -fsSL. Instalati ambele prerequisite inainte de a-l rula:
sudo apt install git curl -yRularea instalatorului Oh My Zsh pe Debian
Rulati instalatorul upstream dintr-un cont de utilizator normal, nu din root:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"Daca ~/.zshrc exista deja, instalatorul implicit il copiaza de rezerva la ~/.zshrc.pre-oh-my-zsh inainte de a scrie noul sablon. Framework-ul insusi este plasat sub ~/.oh-my-zsh.
Confirmati ca directorul framework-ului exista dupa ce instalatorul termina:
test -d "$HOME/.oh-my-zsh" && echo "Oh My Zsh installed"Oh My Zsh installed
Activarea plugin-urilor comune Oh My Zsh pe Debian
Clonati cele doua plugin-uri populare in directorul de plugin-uri personalizate Oh My Zsh:
ZSH_CUSTOM_DIR=${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}git clone --depth 1 https://github.com/zsh-users/zsh-autosuggestions "$ZSH_CUSTOM_DIR/plugins/zsh-autosuggestions"
git clone --depth 1 https://github.com/zsh-users/zsh-syntax-highlighting "$ZSH_CUSTOM_DIR/plugins/zsh-syntax-highlighting"
Inlocuiti linia implicita de plugin-uri din ~/.zshrc cu aceasta versiune:
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
Deschideti un terminal nou dupa ce salvati fisierul, sau rulati source ~/.zshrc dintr-un prompt Zsh existent.
Schimbarea temei Oh My Zsh pe Debian
Setati tema in ~/.zshrc daca doriti ceva mai informativ decat promptul implicit:
ZSH_THEME="agnoster"Reporniti Zsh dupa modificare sau reincarcati fisierul dintr-un prompt Zsh existent. Daca simbolurile promptului se afiseaza ca casute goale in loc de sageti sau markere Git, instalati pachetul fonts-powerline si redeschideti terminalul:
sudo apt install fonts-powerline -y
Depanare probleme Zsh pe Debian
Zsh nu devine shell-ul implicit pe Debian
Daca un terminal nou se deschide in continuare in Bash dupa schimbarea shell-ului, asigurati-va ca Zsh este listat in fisierul de shell-uri permise inainte de a rula din nou chsh:
grep zsh /etc/shells/bin/zsh
/usr/bin/zsh
Daca ambele intrari sunt prezente, reexecutati chsh -s /usr/bin/zsh si deconectati-va complet inainte de a testa din nou cu echo $SHELL. Deschiderea altui tab de terminal fara o deconectare completa poate mentine activ shell-ul vechi de login.
Erori Zsh is not installed pe Debian
Daca Oh My Zsh sau un alt pas de configurare raporteaza zsh is not installed. please install zsh first., verificati daca Debian poate gasi binarul shell-ului:
command -v zsh || echo "zsh missing"
O instalare functionala afiseaza calea Zsh, de obicei /usr/bin/zsh. Daca comanda afiseaza zsh missing, instalati pachetul si repetati verificarea versiunii:
sudo apt install zsh -y
zsh --version
Oh My Zsh se incarca din sh pe Debian
Daca vedeti Error: Oh My Zsh can't be loaded from: sh, bad substitution, alias: -L: invalid option sau erori similare dupa incarcarea ~/.zshrc, fisierul a fost sourcat din Bash sau alt shell POSIX in loc de Zsh:
[ -n "$ZSH_VERSION" ] && echo zsh || echo bash
Daca comanda afiseaza bash, porniti mai intai un shell Zsh si reincarcati fisierul din acel prompt Zsh:
zsh
source ~/.zshrc
O reexecutare reusita nu produce niciun output de eroare.
Erori de plugin Oh My Zsh lipsa pe Debian
Daca Oh My Zsh raporteaza plugin 'zsh-syntax-highlighting' not found sau acelasi mesaj pentru zsh-autosuggestions, numele plugin-ului este prezent in ~/.zshrc dar directorul clonat corespunzator lipseste:
ZSH_CUSTOM_DIR=${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}
ls "$ZSH_CUSTOM_DIR/plugins/zsh-autosuggestions" ls "$ZSH_CUSTOM_DIR/plugins/zsh-syntax-highlighting"Daca vreun director lipseste, clonati doar plugin-ul lipsa in directorul de plugin-uri personalizate Oh My Zsh:ZSH_CUSTOM_DIR=${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}
test -d "$ZSH_CUSTOM_DIR/plugins/zsh-autosuggestions" || git clone --depth 1 https://github.com/zsh-users/zsh-autosuggestions "$ZSH_CUSTOM_DIR/plugins/zsh-autosuggestions"
test -d "$ZSH_CUSTOM_DIR/plugins/zsh-syntax-highlighting" || git clone --depth 1 https://github.com/zsh-users/zsh-syntax-highlighting "$ZSH_CUSTOM_DIR/plugins/zsh-syntax-highlighting"
Reincarcati fisierul dintr-un prompt Zsh dupa ce directoarele exista:
source ~/.zshrc
Actualizarea Zsh pe Debian
Zsh, plugin-urile ambalate si pachetul optional fonts-powerline gestionate de Debian se actualizeaza prin APT, in timp ce Oh My Zsh foloseste propriul sau updater dupa instalarea framework-ului.
Actualizarea pachetelor Zsh Debian
Folositi package-manager-ul Debian cand doriti sa reimprospatati Zsh si plugin-urile ambalate optionale fara a upgrade-ui pachete nesemnificative:
sudo apt install --only-upgrade zsh zsh-autosuggestions zsh-syntax-highlighting -y
Output relevant include:
zsh is already the newest version (5.9-8+b23).
zsh-autosuggestions is already the newest version (0.7.1-1).
zsh-syntax-highlighting is already the newest version (0.8.0-2).
Actualizarea Oh My Zsh pe Debian
Rulati updater-ul framework-ului dintr-o sesiune Zsh dupa ce Oh My Zsh este deja instalat:
omz update
Daca ati clonat plugin-urile optionale din Git, actualizati acele repository-uri separat:
ZSH_CUSTOM_DIR=${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}
git -C "$ZSH_CUSTOM_DIR/plugins/zsh-autosuggestions" pull
git -C "$ZSH_CUSTOM_DIR/plugins/zsh-syntax-highlighting" pull
Eliminarea Zsh si Oh My Zsh din Debian
Comutati shell-ul de login inapoi la Bash inainte de a elimina Zsh, altfel loginurile viitoare pot pointa in continuare catre un shell care nu mai este instalat.
Comutarea de la Zsh inapoi la Bash pe Debian
Rulati mai intai schimbarea shell-ului, apoi inchideti complet sesiunea inainte de a elimina pachetele:
chsh -s /bin/bash
Eliminarea pachetelor Zsh Debian
Eliminati shell-ul, pachetul partajat zsh-common si plugin-urile ambalate cu APT:
sudo apt remove zsh zsh-common zsh-autosuggestions zsh-syntax-highlighting -y
Output relevant include:
REMOVING:
zsh zsh-autosuggestions zsh-common zsh-syntax-highlighting
Removing zsh-syntax-highlighting (0.8.0-2) ...
Removing zsh-autosuggestions (0.7.1-1) ...
Removing zsh (5.9-8+b23) ...
Removing zsh-common (5.9-8) ...
Daca ati instalat fonts-powerline doar pentru promptul Agnoster si nicio alta aplicatie nu il mai necesita, eliminati acel pachet separat:
sudo apt remove fonts-powerline -y
APT poate raporta de asemenea pachete care nu mai sunt necesare dupa eliminare. Revizuiti acea lista inainte de a o accepta:
sudo apt autoremove
Confirmati ca niciunul dintre pachetele Zsh nu mai este instalat:
dpkg-query -W -f='${db:Status-Abbrev} ${binary:Package}\n' zsh zsh-common zsh-autosuggestions zsh-syntax-highlighting 2>/dev/null | grep '^ii' || echo "Zsh packages removed"
Zsh packages removed
Eliminarea fisierelor Oh My Zsh pe Debian
Eliminarea APT nu atinge fisierele framework-ului per-utilizator sau configuratia. Verificati ce fisiere Oh My Zsh exista inainte de a sterge orice:
ls -d ~/.oh-my-zsh ~/.zshrc ~/.zshrc.pre-oh-my-zsh 2>/dev/null || echo "No Oh My Zsh files found"
rm -rf ~/.oh-my-zsh ~/.zshrc ~/.zshrc.pre-oh-my-zsh
Leave A Comment?