xxh — Ваш любимый shell всегда с собой

02 Jun, 2026
6,028
🔱 123
👥 38

Знакомая ситуация? Вы настроили идеальную среду в своем терминале: кастомные алиасы, удобные плагины, цветовые схемы. Но стоит подключиться к серверу по SSH — и всё пропало. Приходится снова работать в спартанских условиях стандартного bash. Проект xxh решает эту проблему раз и навсегда.

Что такое xxh?

xxh — это инструмент, который позволяет:

  1. Использовать любую оболочку (xonsh, zsh, fish, bash) при подключении через SSH
  2. Переносить свои настройки и плагины на удаленные машины
  3. Делать всё это без прав root и установки пакетов на целевом хосте

Демонстрация xxh

Почему это удобно?

Основные преимущества xxh:

  • Переносимость — всё собирается локально и затем загружается на хост
  • Герметичность — после отключения не остаётся следов (если не нужно)
  • Гибкость — можно использовать разные оболочки для разных задач
xxh myhost +s zsh  # Подключиться с zsh
xxh myhost +s fish # Или с fish

Ключевые возможности

  1. Поддержка популярных оболочек

    Реклама
    • Xonsh (Python-based)
    • Zsh с oh-my-zsh
    • Fish с oh-my-fish
    • Bash с oh-my-bash
    • Osquery для работы с данными хоста
  2. Плагины

    • Перенос dotfiles
    • Работа с Docker
    • Портативный Python
    • Интеграция с tmux/screen
  3. Гибкие сценарии использования

# Подключение с oh-my-zsh и плагинами
source xxh.zsh myhost +I xxh-plugin-zsh-ohmyzsh

# Использование портативного Python
xxh myhost +s xonsh
myhost> pip install pandas

Как это работает?

xxh использует clever-подход:

  1. Локально собирается портативная версия выбранной оболочки
  2. Всё необходимое упаковывается и передаётся на хост
  3. Запускается через SSH без установки на целевую систему

Это делает процесс:

  • Быстрым (не нужно компилировать на удалённой машине)
  • Безопасным (не требуются права root)
  • Чистым (можно полностью удалить после работы)

Практические примеры

Разработка с портативным Python

xxh dev-server +s xonsh
dev-server> python --version
Python 3.8.2
dev-server> pip install -r requirements.txt

Администрирование через osquery

xxh db-server +s osquery
osquery> SELECT * FROM users WHERE username='mysql';

Перенос настроек

Создайте форк плагина для dotfiles и настройте один раз для всех серверов.

Установка

Проще всего установить через pip:

pip install xxh-xxh

Или через Homebrew (на macOS):

brew install xxh

Кому пригодится?

  • DevOps-инженерам, работающим с множеством серверов
  • Разработчикам, которым нужен Python на продакшн-серверах
  • Системным администраторам для удобного аудита систем
  • Всем, кто устал от "голого" bash на удалённых машинах

xxh — это тот инструмент, о котором вы не знали, что он вам нужен. После первого использования сложно представить, как раньше обходились без него. Просто попробуйте:

pip install xxh-xxh
xxh your-server +s zsh

И ваша любимая среда будет с вами где угодно!

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.