Як встановити Oh My Zsh на Ubuntu 22.04 (покроковий гайд зі встановлення Oh My Zsh)
Z Shell (Zsh) - це інтерактивна оболонка Unix, відома як інтерпретатор команд і інструмент для написання сценаріїв оболонки. Вона є вдосконаленою оболонкою Bourne з низкою покращень, натхненних можливостями Bash, ksh і tcsh. Zsh має чимало переваг, зокрема автодоповнення в командному рядку, спільну історію, розширений глобінг, інтелектуальне доповнення за клавішею Tab, виправлення помилок у написанні, а також велику колекцію плагінів і тем.
У цьому гайді ми покажемо, як встановити Oh My Zsh. Також ми розглянемо, як встановити Zsh в Ubuntu 22.04, щоб ви могли використовувати його потужні можливості для зручнішої роботи в командному рядку.
Чим відрізняються Zsh і Bash?
І Zsh, і Bash - широко поширені інтерпретатори командного рядка з відкритим кодом. Zsh розроблено зворотно сумісним із Bash, і їхній синтаксис майже ідентичний. Це забезпечує плавний перехід між ними, адже більшість команд і прийомів роботи, засвоєних у Bash, діють і в Zsh.
Якщо порівнювати Zsh і Bash, головна відмінність полягає в широких можливостях інтерактивного налаштування, які пропонує Zsh. Користувачі можуть персоналізувати роботу з оболонкою, налаштовуючи теми й використовуючи величезну екосистему плагінів Zsh. Ці плагіни додають безліч інтерактивних покращень, які роблять роботу зручнішою.
Хоча кожне окреме покращення може здаватися незначним, сукупний ефект цих налаштувань швидко виводить вашу продуктивність у командному рядку на вищий рівень.
Передумови
Щоб встановити Zsh і плагін Oh My Zsh, потрібно мати таке:
Ubuntu 22.04 або новіша версія, встановлена у вашій системі або у VirtualBox.
Права root або sudo (для користувачів без прав root).
Встановлення Zsh в Ubuntu 22.04 (Install Zsh Ubuntu)
Перш ніж налаштовувати Oh My Zsh, потрібно встановити Zsh в Ubuntu 22.04. Для цього виконайте наведені нижче кроки. Після встановлення Zsh ми покажемо, як встановити Oh My Zsh в Ubuntu 22.04 і почати користуватися цим вдосконаленим середовищем оболонки.
Почнімо встановлення Oh My Zsh в Ubuntu 22.04.
Встановлення Zsh в Ubuntu 22.04
Щоб встановити Zsh в Ubuntu, виконайте наведені нижче кроки:
Крок 1. Оновіть репозиторії apt в Ubuntu
Перед встановленням Zsh в Ubuntu обов'язково оновіть репозиторії програмного забезпечення. Відкрийте термінал і виконайте таку команду:
$ sudo apt update
Після оновлення встановіть залежності або пакети, потрібні для Zsh в Ubuntu 22.04:
$ sudo apt install build-essential curl file git
Крок 2. Встановіть Zsh з офіційних репозиторіїв Ubuntu
Щоб встановити Zsh в Ubuntu, скористайтеся репозиторіями apt в Ubuntu і виконайте таку команду:
$ sudo apt install -y zsh
У наведеній команді параметр «-y» автоматично підтверджує всі запити під час встановлення, замість того щоб запитувати користувача.
Крок 3. Перевірте встановлення Zsh
Після успішного встановлення Zsh ви можете перевірити його, вивівши встановлену версію за допомогою такої команди:
$ zsh --version
Ця команда покаже версію Zsh, встановлену на вашому сервері.
Перевірити встановлення Zsh в Ubuntu можна також, переглянувши шлях до виконуваного файлу Zsh:
$ which zsh
Ця команда має вивести шлях «/usr/bin/zsh».
Для перевірки шляху встановлення можна також скористатися командою «whereis»:
$ whereis zsh
Команда «whereis» показує розташування програми або сценарію терміналу. У цьому випадку вона виводить точний шлях до Zsh.
Крок 4. Зробіть Zsh оболонкою за замовчуванням
Тепер, коли Zsh встановлено, ви можете зробити його оболонкою за замовчуванням за допомогою команди chsh. Вкажіть шлях до виконуваного файлу Zsh за допомогою параметра «-s»:
$ sudo chsh -s /usr/bin/zsh
Ця команда змінює файл користувачів «/etc/passwd», щоб під час сеансів у терміналі для вашого імені користувача за замовчуванням завантажувався Zsh. Після перезапуску терміналу підтвердьте зміну, вивівши поточну оболонку за допомогою змінної середовища $SHELL:
echo $SHELL
Вітаємо, ви успішно встановили Zsh в Ubuntu і зробили його оболонкою терміналу за замовчуванням.
Встановлення Oh My Zsh в Ubuntu 22.04 (Oh My Zsh Ubuntu installation)
Oh My Zsh - це фреймворк із відкритим кодом, створений для розширення функціональності та можливостей Z Shell, щоб зробити роботу в командному рядку продуктивнішою та приємнішою. Цей фреймворк забезпечує просте встановлення та зручне керування великою кількістю тем, плагінів і сценаріїв.
Крок 1. Встановіть curl або wget
Встановлення Oh My Zsh в Ubuntu займає лише кілька секунд. Спершу встановіть curl або wget, щоб клонувати git-репозиторій або завантажити його з інтернету:
$ sudo apt install curl
Крок 2. Встановлення Oh My Zsh в Ubuntu
Хоча ви вже перейшли на Zsh як оболонку за замовчуванням, на цьому етапі робота з нею може не надто відрізнятися від Bash. Замість того щоб самостійно налаштовувати Zsh з нуля, ефективніше скористатися екосистемою Oh My Zsh.
Так ви зможете досліджувати й випробовувати безліч інструментів і конфігурацій, уже створених спільнотою, і зробити роботу в командному рядку зручнішою та багатшою на можливості.
Встановити Oh My Zsh в Ubuntu 22.04 можна за допомогою такої команди:
$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Виконання цієї команди зробить Zsh оболонкою за замовчуванням для кожного користувача. Перезавантажувати сервер або виходити із системи не потрібно. Просто введіть «Y» і натисніть «Enter», щоб розпочати процес, який завершиться за кілька секунд. У вікні терміналу має з'явитися такий вивід.
Налаштування плагінів Oh My Zsh
Плагін Zsh - це набір зручних псевдонімів і функцій, призначених для підвищення продуктивності під час роботи з інструментами командного рядка. Oh My Zsh постачається з понад 300 попередньо налаштованими плагінами, готовими до використання одразу.
За замовчуванням ці вбудовані плагіни вимкнені. Список локально встановлених плагінів можна знайти в каталозі «~/.oh-my-zsh/plugins». Щоб увімкнути плагін в Oh My Zsh, відредагуйте рядок plugins у конфігураційному файлі .zshrc. Просто додайте назви потрібних плагінів, розділивши їх пробілами:
plugins=(plugin_1 plugin_2 plugin_3 …)
Щоб переглянути список плагінів, відкрийте браузер і перейдіть за адресою на GitHub: https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins
Тут ви знайдете список усіх доступних плагінів.
Ознайомившись із доступними плагінами й обравши потрібний, вкажіть його назву в списку plugins=() у файлі ~/.zshrc, щоб увімкнути його. Наприклад, щоб активувати плагін Python pip, додайте до файлу ~/.zshrc такий рядок:
plugins=(python pip)
Після зміни списку плагінів натисніть «Ctrl-O», щоб зберегти файл, і «Ctrl-X», щоб вийти. Потім застосуйте зміни, виконавши таку команду:
source ~/.zshrc
Налаштування теми Oh-My-Zsh
Встановити бажану тему Oh My Zsh дуже просто. Теми Oh My Zsh за замовчуванням зберігаються в каталозі ~/.oh-my-zsh/themes/. У ньому можна переглянути всі доступні теми.
Щоб переглянути список доступних тем, відкрийте браузер і перейдіть за адресою:
https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
Обираючи тему, уникайте тем із райдужними кольорами або погано читабельними поєднаннями кольорів. Теми з білими чи світлими написами на чорному тлі можуть не підійти користувачам із порушеннями зору або для headless-серверів без монітора.
Попередньо перегляньте обрану тему в браузері. Знайшовши тему, яка вам подобається, відкрийте файл ~/.zshrc у будь-якому редакторі коду. Наприклад:
sudo nano ~/.zshrc
У цьому файлі тема за замовчуванням має значення «robbyrussell». Щоб змінити тему, замініть текст після ZSH_THEME= на назву бажаної теми. Наприклад, якщо ви хочете використовувати тему «agnoster», замініть «robbyrussell» на «agnoster»:
ZSH_THEME="agnoster"
Якщо ви хочете регулярно чергувати кілька тем, встановіть для параметра ZSH_THEME= значення random:
ZSH_THEME="random"
Щоб задати визначений набір тем для випадкового вибору, вкажіть параметр ZSH_THEME_RANDOM_CANDIDATES. Наприклад:
ZSH_THEME_RANDOM_CANDIDATES=("agnoster" "grml" "robbyrussell")
Після зміни теми збережіть файл за допомогою «Ctrl-O» і вийдіть за допомогою «Ctrl-X». Потім оновіть плагін Oh My Zsh:
source ~/.zshrc
Налаштування плагіна автопідказок
Увімкніть плагін автопідказок (auto-suggestions), щоб отримувати підказки команд на основі історії команд Zsh. Це заощаджує час і полегшує виконання щоденних завдань, особливо для часто використовуваних команд. Щоб активувати автопідказки, виконайте наведені нижче кроки:
Спочатку додайте репозиторій плагіна автопідказок. Клонуйте репозиторій за допомогою такої команди:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
Відкрийте конфігураційний файл .zshrc у текстовому редакторі:
nano ~/.zshrc
У розділі plugins файлу увімкніть плагін автопідказок, додавши його до списку плагінів, як показано нижче:
plugins=(git zsh-autosuggestions)
Збережіть зміни й закрийте текстовий редактор.
Перезапустіть термінал і запустіть Zsh, щоб активувати плагін автопідказок.
Тепер під час введення команди натискайте клавішу зі стрілкою вправо, щоб прийняти підказку й легко завершити команду.
Увімкнення підсвічування синтаксису
Підсвічування синтаксису має низку переваг: кращу читабельність коду, виявлення помилок, розпізнавання мови, вищу продуктивність і приємніший вигляд. Щоб додати підсвічування синтаксису в Zsh, виконайте наведені нижче кроки:
Клонуйте репозиторій плагіна за допомогою такої команди:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
Відкрийте файл .zshrc:
nano ~/.zshrc
Перейдіть до розділу plugins і додайте zsh-syntax-highlighting до списку плагінів.
Збережіть зміни й закрийте файл.
Перезапустіть термінал і запустіть Zsh, щоб активувати підсвічування синтаксису. Наприклад, команда з помилкою буде підсвічена червоним, а правильно введена команда - зеленим:
Тут ми продемонстрували роботу підсвічування на прикладі команди «echo».
Налаштування плагіна JSON Tools
Оскільки JSON широко використовується як стандартний формат даних у веброзробці, вам, імовірно, часто доводиться працювати з ним безпосередньо в терміналі, особливо під час тестування нових викликів API. Плагін JSON Tools робить цю роботу зручнішою. Щоб випробувати його, додайте плагін до конфігураційного файлу Zsh:
plugins=(... jsontools)
Коли цей плагін активовано, ви можете легко передавати дані JSON через конвеєр у відповідний інструмент JSON. Наприклад, стандартний дамп JSON буває важко читати. Отримаймо випадковий жарт про Чака Норріса з Chuck Norris Jokes API:
curl https://api.chucknorris.io/jokes/random
Тепер передамо цей дамп JSON інструменту форматованого виводу JSON (pretty print):
curl https://api.chucknorris.io/jokes/random | pp_json
Як бачите, тепер вивід відформатовано так, щоб його було зручно читати людині. Плагін JSON Tools значно покращує наочність даних JSON у вашому терміналі.
Налаштування автоматичних оновлень Oh My Zsh
За замовчуванням OH-MY-ZSH автоматично оновлюється раз на два тижні. Щоб вимкнути цю функцію, розкоментуйте рядок DISABLE_AUTO_UPDATE у файлі ~/.zshrc і встановіть для параметра DISABLE_AUTO_UPDATE значення «true».
sudo nano ~/.zshrc
DISABLE_AUTO_UPDATE="true"
Якщо ви хочете налаштувати частоту оновлень, можна задати кількість днів для перевірки оновлень. Наприклад, щоб перевіряти оновлення щодня, встановіть для параметра UPDATE_ZSH_DAYS значення 1.
UPDATE_ZSH_DAYS=1
Збережіть зміни за допомогою «Ctrl-O», потім натисніть «Enter» і вийдіть за допомогою «Ctrl-X». Потім оновіть плагін Oh My ZSH, ввівши таку команду:
source ~/.zshrc
Також ви можете запустити оновлення вручну за допомогою такої команди:
omz update
Нарешті, щоб застосувати зміни, перезавантажте систему:
sudo reboot now
На цьому встановлення та налаштування Oh My Zsh в Ubuntu 22.04 завершено. Виконавши наведені вище інструкції, ви успішно налаштували параметри автоматичного оновлення відповідно до своїх уподобань.
Налаштування плагіна Dirhistory
Цей плагін робить навігацію каталогами зручнішою, спираючись на історію відвідування каталогів. Він додає зручні комбінації клавіш, які ще більше спрощують переміщення історією каталогів. Щоб увімкнути цю функцію, додайте «dirhistory» до конфігураційного файлу:
plugins=(... dirhistory)
Після цього збережіть файл і оновіть конфігурацію Zsh:
source ~/.zshrc
Тепер для зручної навігації історією каталогів використовуйте такі комбінації клавіш: ALT + LEFT, щоб перейти до попереднього каталогу, ALT + RIGHT, щоб перейти до наступного каталогу, ALT + UP, щоб перейти до батьківського каталогу, і ALT + DOWN, щоб перейти до першого дочірнього каталогу. Цей плагін робить роботу з каталогами ефективнішою.
Автодоповнення за клавішею Tab у Zsh
Ще одна чудова можливість Zsh - розвинена система доповнення за клавішею Tab. Вона інтелектуально пропонує доступні варіанти залежно від контексту командного рядка, зокрема сценарії, змінні середовища, команди та їхні параметри.
Щоб спробувати це, введіть system і натисніть TAB, щоб отримати список підказок. Повторне натискання TAB дає змогу переміщатися доступними програмами за допомогою TAB або клавіш зі стрілками:
Аналогічно, якщо ввести systemctl, додати пробіл і натиснути TAB, з'явиться список доступних команд systemctl з їхніми описами. Переміщайтеся списком за допомогою TAB або клавіш зі стрілками:
Якщо ввести systemctl - і кілька разів натиснути TAB, можна переміщатися списком доступних параметрів systemctl з їхніми описами:
command options autocomplete
А тепер трохи магії: введіть systemctl stop, додайте пробіл і натисніть TAB, щоб побачити список усіх запущених зараз процесів Linux, до яких можна застосувати команду «systemctl stop»:
target processes autocomplete
Почати користуватися розвиненим автодоповненням за клавішею Tab дуже просто, а продуктивність воно підвищує суттєво. Додайте його до свого набору інструментів командного рядка, щоб працювати ефективніше.
Зворотний пошук в історії
Зазвичай зворотний пошук в історії викликається комбінацією «CTRL + R», яка дає змогу шукати будь-яке слово в історії команд. Натисніть «CTRL + R» і введіть підрядок, наприклад «system», щоб знайти останню команду, яка містить цей підрядок:
Продовжуйте натискати «CTRL + R», щоб рухатися історією назад, або використовуйте «CTRL + S», щоб рухатися вперед.
Zsh додає до цієї функції невелике покращення. Якщо ви пам'ятаєте початок потрібної команди, введіть його й використовуйте клавіші UP і DOWN, щоб переміщатися історією, відфільтрованою за вказаним підрядком. Наприклад, введіть «apt» і натисніть UP, щоб знайти останню команду, яка починається з цього підрядка.
Налаштування плагіна History
В Oh My Zsh багато плагінів, по суті, є наборами практичних псевдонімів, створених досвідченими системними адміністраторами. Плагін History пропонує набір зручних псевдонімів для команди history. Активуйте його, змінивши конфігураційний файл Zsh:
plugins=(... history)
Після активації вам стануть доступні такі псевдоніми:
h (history): виводить історію команд.
hs (history | grep): шукає в історії команд за допомогою grep.
his (history | grep -i): шукає в історії команд за допомогою grep без урахування регістру.
Увімкнення часових позначок в історії
Ще одна корисна можливість - додавання часових позначок до кожної команди в історії. Щоб активувати цю функцію, розкоментуйте такий рядок у конфігураційному файлі й оберіть бажаний формат дати:
HIST_STAMPS="yyyy-mm-dd"
Завдяки цьому параметру кожна команда, яку виводить команда history, супроводжуватиметься часовою позначкою, що дає хронологічний запис історії команд.
Увімкнення плагіна Colored Man Pages
Як часто ви переглядаєте сторінки довідки різних утиліт командного рядка? Плагін Colored Man Pages пришвидшує читання, підсвічуючи різні команди та їхні аргументи, щоб їх одразу було видно в документації. Увімкніть цей плагін, змінивши конфігураційний файл Zsh:
plugins=(... colored-man-pages)
Якщо вам потрібно видалити Oh My Zsh разом із його плагінами й темами з Ubuntu 22.04, це можна зробити за допомогою вбудованого сценарію видалення. Виконайте в терміналі таку команду:
$ uninstall_oh_my_zsh
$ sudo apt --purge remove zsh
Ця команда видалить усі файли й теки, пов'язані з Oh My Zsh, і поверне сервер до стану, у якому він був до встановлення.
Перемикання із Zsh на оболонку Bash
Поверніть Bash (або іншу бажану оболонку) як оболонку за замовчуванням за допомогою такої команди:
$ chsh -s $(which bash)
After running this command, close the current terminal and open a new session to ensure that the changes take effect.
Для Linux-хостингу на VPS встановіть і використовуйте оболонку Zsh для Ubuntu на своєму сервері.
Висновок
У цьому гайді ми показали, як встановити й налаштувати Oh My Zsh в Ubuntu 22.04. Хоча Bash і далі широко використовується та є оболонкою за замовчуванням у багатьох дистрибутивах Linux, Zsh здобув популярність завдяки численним перевагам.
Ви можете й далі налаштовувати своє середовище Zsh і додавати власні зміни. Zsh в Ubuntu - це більше, ніж просто оболонка, адже він також є потужною мовою сценаріїв.
Якщо ви захочете глибше зануритися в налаштування, ознайомтеся з великою кількістю матеріалів в офіційній документації Zsh.