2 min read

Прокачка терминала в FreeBSD: Установка и настройка Zsh

Стандартный csh во FreeBSD надежен как швейцарские часы, но для ежедневной работы он аскетичен. Если вы хотите автодополнение как в Google, подсветку синтаксиса и удобную навигацию, ваш выбор — Zsh в связке с фреймворком Oh My Zsh.

Почему Zsh?

  1. Умное автодополнение: Нажмите Tab, и Zsh предложит список файлов, параметров команд и даже имен пользователей.
  2. Исправление опечаток: Если вы введете sl вместо ls, шелл вежливо спросит: "Вы имели в виду ls?".
  3. Визуализация: Темы оформления позволяют видеть текущую ветку Git, статус сервера и время выполнения команды прямо в строке приглашения.

Шаг 1: Установка базы

Во FreeBSD стороннее ПО устанавливается в /usr/local/. Нам понадобятся сам шелл и Git для загрузки дополнений.

Bash

# Выполняем под root
pkg update
pkg install zsh git

Шаг 2: Установка Oh My Zsh

Это самый популярный фреймворк для управления конфигурацией Zsh. Он автоматизирует создание файла .zshrc.

Запустите установку от имени своего обычного пользователя:

Bash

sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Когда скрипт спросит "Do you want to change your default shell to zsh?", введите y.

Шаг 3: Магия плагинов (Autosuggestions & Highlighting)

Две вещи, без которых Zsh — просто Bash. Мы установим их как кастомные дополнения.

Zsh-syntax-highlighting: Подсвечивает команды в реальном времени (зеленый — команда существует, красный — ошибка).Bash

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Zsh-autosuggestions: Подсказывает команды серым цветом на основе вашей истории.Bash

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

Шаг 4: Настройка .zshrc

Отредактируйте конфиг своего пользователя: ee ~/.zshrc (или vi).

Найдите секцию плагинов и приведите её к такому виду:

Bash

plugins=(
  git 
  zsh-autosuggestions 
  zsh-syntax-highlighting
)
Совет по теме: В этом же файле найдите переменную ZSH_THEME. Для начала отлично подойдет тема "robbyrussell" (дефолт) или "agnoster".

Чтобы изменения вступили в силу:

Bash

source ~/.zshrc

Полезные лайфхаки (Aliases) для FreeBSD

Добавьте эти строки в конец вашего ~/.zshrc, чтобы не вводить длинные команды:

  • Быстрое обновление системы: alias pkg-up="su -m root -c 'pkg update && pkg upgrade'"
  • Очистка системы: alias pkg-clean="su -m root -c 'pkg clean && pkg autoremove'"
  • Просмотр открытых портов: alias ports="sockstat -4l"
  • Красивый вывод портов: alias psearch="make -C /usr/ports -fz search key="

Безопасность прежде всего

Золотое правило FreeBSD: Никогда не меняйте дефолтный шелл для пользователя root (оставляйте /bin/csh). Если вы повредите базу данных пакетов или удалите Zsh, root должен иметь возможность зайти в систему через стандартный шелл, который вшит в ядро системы.


Результат: Теперь ваш терминал во FreeBSD выглядит современно, помогает вам не ошибаться и работает быстрее.