آموزش نصب Oh My Zsh در لینوکس

Oh My Zsh یک فریمورک لذتبخش، متن‌باز و جامعه محور برای مدیریت پیکربندی Zsh  است. همراه با هزاران فانکشن مفید، پلاگین، تم و کار با ترمینا را برای هر کسی جذاب و قشنگ‌تر می‌کند.زی‌شِل قابلیت تنظیم بالایی دارد و می‌توان آن را با بسیاری از پلاگین‌ها و تم‌ها سفارشی‌سازی کرد. معمولا zsh به عنوان جایگزینی برای پوسته استاندارد در سیستم‌های مبتنی بر یونیکس مانند بش (Bash) مورد استفاده قرار می‌گیرد.


Bash پوسته پیش فرض اکثر توزیع‌های لینوکس است، اما همان طور که در مقاله انواع شِل (Shell) در لینوکس چیست؟ گفتیم فقط بش نیست. مفسرهای پوسته دیگری مانند ZSH و Fish هم در دسترس هستند.

Kali Linux و macOS Catalina اولین پذیرندگان ZSH به عنوان login shell پیش‌فرض بودند و جایگزین Bash استاندارد شدند (اگرچه Bash به عنوان جایگزین در این سیستم موجود است).
پوسته ورود (login shell) اصطلاحی است که برای تعریف پوسته (مانند Sh، Bash یا Zsh) برای بارگیری متغیرهای محیطی و فایل‌های پیکربندی پوسته هنگام ورود به یک session تعاملی استفاده می‌شود.

اما از آنجایی که Bash در اکثر سیستم‌های لینوکس پیش‌فرض است، مردم اغلب پوسته Zsh را فراموش می‌کنند در حالی که قابلیت‌های جذابی دارد.

داستان پوسته زد ( Zsh )

می‌توان گفت که ZSH (یا پوسته Z) یک نسخه توسعه یافته از مفسر پوسته استاندارد Bash است که توسط Paul Falstad در سال 1990 هنگام تحصیل در دانشگاه پرینستون نوشته شده است.

zsh چیست ؟

تمام ویژگی‌های موجود Bash را به ارث برده و ویژگی‌های قابل توجه خود را ارائه می‌کند، به دنبال آن:

  • تکمیل دستور خودکار
  • پیشنهاد دستور
  • هایلایت سینتکس
  • مدیریت متغیر پوسته بهبود یافته است
  • به اشتراک گذاری تاریخچه دستورات و بسیاری موارد دیگر

با این وجود، ZSH از افزونه‎‌هایی پشتیبانی می‌کند که می‌توان با استفاده از Oh-My-Zsh مدیریت کرد تا عملکرد موجود را یک قدم بیشتر گسترش دهد.
 

Oh-My-Zsh چیست؟

oh my zsh چیست ؟

Oh-My-Zsh یک فریمورک رایگان و متن‌باز و جامعه محور برای مدیریت پیکربندی ZSH، افزونه‌ها و تم‌ها برای برداشتن مسئولیت تنظیمات دستی است.
حتی اگر نصب این فریمورک اجباری نباشد، بدون آن ممکن است شروع کار کمی مشکل باشد. جدای از آن، این تنها فریمورک نیست بلکه یک فریمورک محبوب برای ZSH است.

نصب ZSH در سیستم لینوکس

ZSH در اکثر مخازن لینوکس موجود است، بنابراین می‌توانید مستقیم ترمینال را باز کرده و یکی از دستورات زیر را بر اساس نوع سیستم خود برای نصب ZSH اجرا کنید.


$ sudo apt install zsh                                 #On Debian, Ubuntu, Pop!_OS, or Linux Mint
$ sudo dnf install zsh                   #On Fedora, AlmaLinux, RHEL, or Rocky Linux
$ sudo pacman -S zsh                                                  #On Arch, Manjaro, or EndeavourOS

مسیر (یا وجود ZSH) را پس از نصب با استفاده از دستور which بررسی کنید:


which zsh

آموزش نصب ohmyzsh


مرحله 2: تغییر پوسته پیش فرض

مرحله بعدی این است که پوسته پیشفرض خود را با استفاده از دستور chsh به پوسته Zsh تغییر دهید.


$ chsh -s $(which zsh)


همانطور که نشان داده شده است، هنگام تغییر آن، رمز عبور کاربر فعلی را درخواست می‌کند.


برای اعمال تغییرات از سیستم خارج و دوباره وارد شوید.

هنگامی که ترمینال خود را با یک ZSH تازه نصب شده باز می‌کنید، همانطور که نشان داده شده است، تنظیمات را درخواست می کند.


در حال حاضر، 0 را فشار دهید تا یک فایل پیکربندی خالی ~/.zshrc ایجاد کنید.

مرحله 3: نصب فریمورک  Oh-My-Zsh

قبل از نصب فریمورک Oh-My-Zsh بر روی سیستم خود باید برنامه زیر را بر اساس نوع سیستم نصب کنید.


$ sudo apt install git curl wget                     #On Debian, Ubuntu, Pop!_OS, or Linux Mint
$ sudo dnf install git curl wget            #On Fedora, AlmaLinux, RHEL, or Rocky Linux
$ sudo pacman -S git curl wget                                            #On Arch, Manjaro, or EndeavourOS

 

پس از اینکه برنامه فوق با موفقیت بر روی سیستم شما نصب شد، یکی از دستورات زیر را برای نصب Oh-My-Zsh  اجرا کنید.


$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
#OR
$ sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

نصب oh-my-zsh در سرور مجازی

پس از نصب فریمورک Oh-My-Zsh، از همان فایل پیکربندی "~/.zshrc" برای مدیریت تم‌ها و افزونه‌ها به عنوان پوسته Zsh استفاده می‌کند.

مرحله 4: نصب و فعال کردن یک تم سفارشی

همانطور که می بینید، robbyrussell تم پیش فرض Oh-My-Zsh است، یک تم کاملا خسته کننده است.

به غیر از حالت پیش‌فرض، می‌توانید تم‌های بیشتری را در مسیر «~/.oh-my-zsh/themes» بیابید.

شما می‌توانید یکی از تم‌های بالا را با ویرایش دستورالعمل ZSH_THEME در فایل ~/.zshrc اعمال کنید.

با این حال، من به شما پیشنهاد می‌کنم محبوب‌ترین و پیشنهادی‌ترین تم PowerLevel10k را با شبیه‌سازی آن در دایرکتوری  themes خود با استفاده از دستور زیر نصب کنید.


$ git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
$ echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc


در مرحله بعد، دستور zsh را اجرا کنید یا یک جلسه ترمینال جدید باز تا صفحه تنظیمات زیر برای پیکربندی درخواست خود نمایش داده شود.

نصب  تم PowerLevel10k در oh my zsh


مرحله 4: نصب و فعال کردن یک پلاگین

Oh-My-Zsh مانند تم، تعداد زیادی پلاگین برای گسترش عملکرد پوسته در اختیار شما قرار می‌دهد، برخی از آنها از قبل نصب شده‌اند که می‌توانید آنها را در مسیر زیر بیابید.


~/.oh-my-zsh/plugins


در ابتدا فقط افزونه git به صورت پیشفرض فعال می‌شود. برای بقیه، می‌توانید نام آنها را مشخص کنید. اگر هر افزونه‌ای که می‌خواهید استفاده کنید در دسترس نیست، می‎‌توانید به صورت دستی آن را نصب کنید.

به عنوان مثال، ترمینال خود را باز و دستور زیر را برای کلون کردن افزونه Zsh-autosuggestions در دایرکتوری plugins خود اجرا کنید.

در مرحله بعد، همانطور که نشان داده شده است، نام افزونه را به لیست افزونه‌های داخل فایل “~/.zshrc” اضافه کنید.

فایل را ذخیره کرده و ببندید و فایل پیکربندی اصلاح شده را با استفاده از دستور زیر بارگذاری مجدد کنید:


omz reload

برای تایید کارکرد افزونه می توانید حرف اول دستوری را که در گذشته اجرا شده است تایپ و مانند تصویر سایه آن دستور را دریافت کنید.

 

وی پی اس یک ماشین مجازی کامل است که در سیستم عامل لینوکس، ترمینال را در اختیار شما قرار می‌دهد.
خرید وی پی اس در پنج موقعیت جغرافیایی ایران، ترکیه، هلند، آلمان و آمریکا با قابلیت تحویل آنی در پارسدو فراهم است.


حذف ZSH، Oh-My-Zsh و PowerLevel10K

مطلب بدون نمایش مراحل حذف ناقص خواهد بود. اگر دوست ندارید با ZSH کار کنید و می‌خواهید آن را حذف کنید، مراحل زیر را دنبال نمائید.

1.    تغییر پوسته پیش فرض:


$ chsh -s $(which bash)

2.    حذف ZSH:


$ sudo apt remove zsh                                            #On Debian, Ubuntu, Pop!_OS, or Linux Mint
$ sudo dnf remove zsh                                        #On Fedora, AlmaLinux, RHEL, or Rocky Linux
$ sudo pacman -R zsh                                         #On Arch, Manjaro, or EndeavourOS


3.    حذف دایرکتوری Oh-My-Zsh (که تم ها و افزونه‌های نصب شده دستی را نیز حذف می‌کند)


$ uninstall_oh_my_zsh

4.    فایل های پیکربندی ZSH و PowerLevel10K را حذف کنید.


$ rm -rf .zsh* .p10k.zsh


در آخر، از سیستم خارج شوید و دوباره وارد سیستم خود شوید تا تغییرات اعمال شود.