xxh — Ваш любимый shell всегда с собой
Знакомая ситуация? Вы настроили идеальную среду в своем терминале: кастомные алиасы, удобные плагины, цветовые схемы. Но стоит подключиться к серверу по SSH — и всё пропало. Приходится снова работать в спартанских условиях стандартного bash. Проект xxh решает эту проблему раз и навсегда.
Что такое xxh?
xxh — это инструмент, который позволяет:
- Использовать любую оболочку (xonsh, zsh, fish, bash) при подключении через SSH
- Переносить свои настройки и плагины на удаленные машины
- Делать всё это без прав root и установки пакетов на целевом хосте

Почему это удобно?
Основные преимущества xxh:
- Переносимость — всё собирается локально и затем загружается на хост
- Герметичность — после отключения не остаётся следов (если не нужно)
- Гибкость — можно использовать разные оболочки для разных задач
xxh myhost +s zsh # Подключиться с zsh
xxh myhost +s fish # Или с fish
Ключевые возможности
-
Поддержка популярных оболочек
- Xonsh (Python-based)
- Zsh с oh-my-zsh
- Fish с oh-my-fish
- Bash с oh-my-bash
- Osquery для работы с данными хоста
-
Плагины
- Перенос dotfiles
- Работа с Docker
- Портативный Python
- Интеграция с tmux/screen
-
Гибкие сценарии использования
# Подключение с oh-my-zsh и плагинами
source xxh.zsh myhost +I xxh-plugin-zsh-ohmyzsh
# Использование портативного Python
xxh myhost +s xonsh
myhost> pip install pandas
Как это работает?
xxh использует clever-подход:
- Локально собирается портативная версия выбранной оболочки
- Всё необходимое упаковывается и передаётся на хост
- Запускается через 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
И ваша любимая среда будет с вами где угодно!
