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 هنگام تحصیل در دانشگاه پرینستون نوشته شده است.
تمام ویژگیهای موجود Bash را به ارث برده و ویژگیهای قابل توجه خود را ارائه میکند، به دنبال آن:
- تکمیل دستور خودکار
- پیشنهاد دستور
- هایلایت سینتکس
- مدیریت متغیر پوسته بهبود یافته است
- به اشتراک گذاری تاریخچه دستورات و بسیاری موارد دیگر
با این وجود، 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
مرحله 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، از همان فایل پیکربندی "~/.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 را اجرا کنید یا یک جلسه ترمینال جدید باز تا صفحه تنظیمات زیر برای پیکربندی درخواست خود نمایش داده شود.
مرحله 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
در آخر، از سیستم خارج شوید و دوباره وارد سیستم خود شوید تا تغییرات اعمال شود.
نظرتون برامون مهمه شما اولین نظر رو بنویسید