ZSH
ZSH | الطرفية بشكل أفضل وإضافات متميزة وتخصيص غير محدود
ZSH⚓︎
شرح zsh وتنصيب وتخصيص كامل، للحصول على طرفية ذات "واجهة" جذابة، وإضافات مهمة تيسر وتسهل استخدام الطرفية في مختلف المهام. الشرح مفيد سواء كنت مستخدمًا محترفًا أو مبتدئ على حد سواء.
واجهة Linux الرسومية تطورت كثيرًا خلال السنوات الأخيرة، بإمكانك استخدام معظم التوزيعات بدون الحاجة إلى التعامل مع الـ Terminal أو الطرفية!
لكن تظل الـ Terminal أحد أهم عناصر Linux، ومهما كان الـ GUI أو الواجهة متطورة ستظل الطرفية أسرع وأسهل - نعم أسهل - الطرق لتنفيذ عديد من المهام على جهازك!
لكن واجهة الطرفية - لو صح التعبير - ليست جذابة بواجهتها التقليدية، لذلك اليوم سوف نغير ذلك تمامًا، شكل جذاب وتخصيص كامل للطرفية.
#more
Update your system⚓︎
- Ubuntu
sudo apt update && sudo apt upgrade -y
sudo apt autoremove && sudo apt autoclean
- Fedora
sudo dnf upgrade
Install Packages⚓︎
- Ubuntu
sudo apt install zsh ranger git wget
- Fedora
sudo dnf install zsh ranger git wget util-linux-user
Create the Folders⚓︎
mkdir -p ~/.config/zsh/plugins && mkdir -p ~/.cache/zsh
Move '.zshrc' file to '$HOME/.config/zsh'⚓︎
- Ubuntu
echo -e '\n\n# zsh\nexport ZDOTDIR="$HOME/.config/zsh"' >> ~/.profile
- Fedora
DO NOTHING
Download Fonts⚓︎
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf -P ./MesloLGS-NF
Install Fonts⚓︎
sudo mv MesloLGS-NF /usr/share/fonts
Set the shell font⚓︎
- Ubuntu
Set the shell font to MesloLGS NF Regular
- Fedora
Close and reopen the terminal
Set the shell font to MesloLGS NF Regular
LOGOUT and LOGIN⚓︎
Run zsh
and configure it⚓︎
zsh
Download Plugins⚓︎
git clone https://github.com/zsh-users/zsh-autosuggestions.git ~/.config/zsh/plugins/autosuggestions && git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.config/zsh/plugins/syntax-highlighting && git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.config/zsh/plugins/powerlevel10k
Install Plugins⚓︎
- Ubuntu
echo -e '\n\n# Plugins\nsource ~/.config/zsh/plugins/powerlevel10k/powerlevel10k.zsh-theme\nsource ~/.config/zsh/plugins/autosuggestions/zsh-autosuggestions.zsh\nsource ~/.config/zsh/plugins/syntax-highlighting/zsh-syntax-highlighting.zsh' >> ~/.config/zsh/.zshrc
- Fedora
echo -e '\n\n# Plugins\nsource ~/.config/zsh/plugins/powerlevel10k/powerlevel10k.zsh-theme\nsource ~/.config/zsh/plugins/autosuggestions/zsh-autosuggestions.zsh\nsource ~/.config/zsh/plugins/syntax-highlighting/zsh-syntax-highlighting.zsh' >> ~/.zshrc
add ranger to zsh⚓︎
- Ubuntu
echo -e '\n\n# ranger-cd\nfunction ranger-cd {\n tempfile="$(mktemp -t tmp.XXXXXX)"\n /usr/bin/ranger --choosedir="$tempfile" "${@:-$(pwd)}"\n test -f "$tempfile" &&\n if [ "$(cat -- "$tempfile")" != "$(echo -n `pwd`)" ]; then\n cd -- "$(cat "$tempfile")"\n fi \n rm -f -- "$tempfile"\n}\n\n#ranger-cd will run by alt+r\nbindkey -s "^\\er" "ranger-cd\\n"' >> ~/.config/zsh/.zshrc
- Fedora
echo -e '\n\n# ranger-cd\nfunction ranger-cd {\n tempfile="$(mktemp -t tmp.XXXXXX)"\n /usr/bin/ranger --choosedir="$tempfile" "${@:-$(pwd)}"\n test -f "$tempfile" &&\n if [ "$(cat -- "$tempfile")" != "$(echo -n `pwd`)" ]; then\n cd -- "$(cat "$tempfile")"\n fi \n rm -f -- "$tempfile"\n}\n\n#ranger-cd will run by alt+r\nbindkey -s "^\\er" "ranger-cd\\n"' >> ~/.zshrc
ZSH as the default shell⚓︎
- for
root
sudo -s
chsh -s /bin/zsh root
exit
- for
user
chsh -s /bin/zsh $USER