Установка Happ на Linux: шесть пакетов и три менеджера
Сборки под Linux у проекта есть, и их шесть: три формата пакета, каждый под x64 и под arm64. Ставится любой из них одной командой штатного менеджера, зависимости менеджер добирает сам. Вся разница между дистрибутивами сводится к тому, какой формат вы берёте и какой командой его скармливаете системе.
У этой программы есть окно, и без графического окружения она бесполезна: на голом сервере пакет встанет, а пользоваться им будет нечем.
Короткий ответ
Порядок укладывается в четыре действия и занимает пару минут. Сначала выясняете разрядность машины командой uname -m, затем берёте файл нужного формата со страницы выпусков разработчика, ставите его пакетным менеджером своего дистрибутива и запускаете из меню приложений. Собранный список файлов с весами лежит в каталоге сборок — там же видно, какое имя у ARM-варианта.
- Источник — только страница выпусков настольной линии. Формат берётся по дистрибутиву, разрядность — по ответу
uname -m. - Допуск — здесь нет ни фильтра репутации, ни подписи разработчика: на входе стоит сам пакетный менеджер, и единственное, что он проверяет, — сходится ли архитектура пакета с архитектурой системы.
- Запуск — установленный клиент пуст. Чтобы в нём появились серверы, нужна ссылка-подписка: как её физически вставить, разобрано на странице импорта подписки.
Чего под Linux действительно нет
Три отсутствия стоит знать заранее, чтобы не тратить вечер на поиски несуществующего. Универсального переносимого образа в формате AppImage проект не собирает вовсе, и всё, что выдаёт поиск по такому запросу, сделано посторонними людьми. Нет программы и в самих репозиториях систем: попытка поставить её по короткому имени, без указания скачанного файла, заканчивается ответом «ничего не найдено» — сообщение пугает, но означает ровно то, что написано. Наконец, встроенного механизма обновления у пакета не предусмотрено: штатное обновление системы эту программу не видит и новых версий не предлагает.
Отсюда следует и порядок обновления: заново взять файл выбранного формата и повторить установку поверх. Предыдущую сборку удалять незачем, добавленные профили замену переживают, а заходить за свежим выпуском имеет смысл раз в пару месяцев, не чаще.
Паспорт установки
Пять строк, которые отвечают на вопрос «что меня ждёт» до того, как вы начнёте.
| Пункт | Как здесь |
|---|---|
| Источник | Страница выпусков настольной линии в репозитории разработчика. В репозиториях самих дистрибутивов пакета нет, AppImage у проекта не существует. |
| Файл и вес | Happ.linux.x64.deb, Happ.linux.x64.rpm или Happ.linux.x64.pkg.tar.zst; у ARM-версий в имени вместо x64 стоит arm64. Вес — от 71 до 100 МБ, тяжелее всех выходит .rpm. |
| Требование системы | Настольная система с графической оболочкой, архитектура x86-64 либо ARM64. Дополнительных библиотек пакет не требует, FUSE не нужен: зависимости менеджер подтягивает сам. |
| Кто стоит на допуске | Пакетный менеджер и права через sudo. Файл чужой архитектуры он поставить откажется; на архитектурах, кроме x64 и arm64, пакета попросту нет. |
| Как обновляется | Только руками: заново взятый пакет выбранного формата и повторный запуск той же строки. Механизма самообновления нет, предыдущую копию удалять не требуется, профили остаются. |
Пять шагов установки
Первый шаг важнее остальных: он определяет, какой из шести файлов вам нужен.
-
1
Узнайте архитектуру машины
Откройте терминал и выполните
uname -m. Ответx86_64означает, что вам нужны файлы сx64в имени, ответaarch64— файлы сarm64.Пакет не той архитектуры менеджер не примет и скажет об этом прямо. Если в ответе что-то третье, подходящей сборки для этой машины не выпускают.
-
2
Выберите формат по дистрибутиву
Семейство Debian берёт
.deb, Fedora и openSUSE —.rpm, Arch и его производные —.pkg.tar.zst. Форматы не взаимозаменяемы: конвертировать один в другой ради установки не нужно, все три лежат в одном и том же выпуске.Полный перечень файлов с весами — на странице каталога сборок.
-
3
Отдайте файл пакетному менеджеру
Зайдите в каталог, куда лёг загруженный пакет, и выполните строку своего менеджера из таблицы ниже. Всё недостающее он доберёт сам, подключать посторонние репозитории не потребуется.
Для
aptиdnfпуть обязан начинаться с./. Стоит эти два символа потерять — и менеджер поймёт запрос как имя пакета из сети, поищет его там и ответит отказом. Заминка на этом шаге самая частая и лечится дописыванием точки со слэшем. -
4
Запустите клиент из меню приложений
Значок встаёт в общее меню наравне с остальным софтом: ни ярлык прописывать, ни стартовать из консоли не нужно. Первое окно будет пустым — так и должно быть у только что поставленной копии.
-
5
Вставьте ссылку-подписку
Пока в клиенте нет подписки, список серверов пуст и кнопка подключения ни к чему не ведёт. Порядок вставки строки разобран отдельно — как добавить ссылку-подписку.
Формат под дистрибутив
Команды даны для x64. Для ARM-машины в имени файла меняется ровно одна подстрока: x64 на arm64, всё остальное совпадает дословно.
| Ваша система | Формат и чем ставить |
|---|---|
| Ubuntu, Debian, Linux Mint, Pop!_OS | Родной формат тут .deb, скармливается штатному менеджеру: sudo apt install ./Happ.linux.x64.deb. Путь самый ходовой, зависимости разрешаются молча. |
| Fedora, openSUSE | Здесь нужен .rpm, а строка выглядит как sudo dnf install ./Happ.linux.x64.rpm. Из трёх форматов этот самый увесистый — под сотню мегабайт. |
| Arch, Manjaro, EndeavourOS | Формат .pkg.tar.zst, ставится строкой sudo pacman -U Happ.linux.x64.pkg.tar.zst. Ключ -U тут читается как «возьми вот этот файл», а не «поищи в сети». |
| Любая из перечисленных систем на ARM | Синтаксис не меняется вообще: подставляется имя, где вместо x64 написано arm64. Промахнуться архитектурой не страшно — менеджер откажется и объяснит, почему. |
Два режима работы: прокси и TUN
Единственная развилка, которую придётся пройти сразу после установки.
По умолчанию клиент поднимает локальный прокси на 127.0.0.1. Через сервер уходит только тот трафик, чьё приложение об этом прокси знает и умеет им пользоваться. Браузер обычно знает, а вот утилиты командной строки в системные настройки прокси не смотрят вовсе: им нужны переменные http_proxy и https_proxy. Отсюда классический симптом «в браузере работает, а в терминале нет» — он означает не поломку, а именно режим прокси.
Режим TUN устроен иначе: клиент создаёт виртуальную сетевую карту и уводит в неё весь трафик машины, включая пакетный менеджер и любые консольные утилиты. За это он просит административные полномочия — интерфейс надо создать, а таблицу маршрутов переписать. Начинать проще с прокси: он ничего не меняет в системе и выключается закрытием окна.
Как убедиться, что трафик действительно идёт в туннель
Индикатор в окне клиента показывает только одно: клиент считает себя подключённым. Проверять надо снаружи, и вот короткий набор команд.
- Внешний адрес без туннеля:
curl -s https://api.ipify.org. - Он же через локальный прокси:
curl -s --socks5-hostname 127.0.0.1:10808 https://api.ipify.org— порт подставьте свой, клиент показывает его в настройках. - Совпали оба адреса — трафик идёт мимо туннеля, и дальше разбираться надо не с установкой.
- Виртуальный интерфейс:
ip -brief address, в выводе ожидается строка вида tun0. - Маршрут:
ip route get 1.1.1.1— в режиме TUN он должен уходить через виртуальный интерфейс. - Разрешение имён:
resolvectl status.
Имена и статичный DNS
Даже при поднятом туннеле имена может по-прежнему разрешать systemd-resolved через сервер провайдера. Чаще всего виноват статичный DNS, вручную прописанный в настройках сетевого соединения: он побеждает то, что предлагает интерфейс, и убирается только руками. Это стоит проверить сразу, если resolvectl status показывает не то, что вы ожидали.
Автозапуск и Steam Deck
Держать окно открытым не обязательно: клиент заворачивается в пользовательский юнит systemd, файл кладут в ~/.config/systemd/user/, включают командой systemctl --user enable --now имя-службы. Чтобы служба работала и до входа в систему, для пользователя включают loginctl enable-linger.
Отдельная история — Steam Deck. Обновление прошивки перезаписывает системный раздел, и установленный клиент оттуда просто исчезает. Вариантов ровно два: переставлять пакет после каждого обновления или держать клиент в контейнере, который прошивка не трогает.
Пакет встал, а подключаться некуда
На Linux установка заканчивается там же, где на любой другой системе: программа в меню есть, окно открывается, а список серверов пуст. Happ поставляется без единой точки внутри — он умеет только читать чужой список по ссылке-подписке. Пока такой ссылки нет, проверить нечего: ни curl через прокси, ни ip route get ничего осмысленного не покажут. Если рабочей подписки под рукой не оказалось, оформите доступ и вставьте строку в клиент.
Короткие ответы
Есть ли вообще версия Happ под Linux?
Есть. В настольном выпуске лежат шесть Linux-пакетов: форматы .deb, .rpm и .pkg.tar.zst, каждый в двух архитектурах — x64 и arm64. Веса — от 71 до 100 МБ.
Почему apt install happ пишет, что пакет не найден?
Потому что в репозиториях дистрибутивов этой программы нет, ставить надо скачанный файл. И перед именем файла обязательно нужны точка и слэш: без ./ менеджер ищет пакет в репозитории и честно не находит его.
Где взять AppImage?
Нигде: проект такой формат не выпускает. Файлы, которые находятся по этому запросу, собраны посторонними людьми, и что внутри — неизвестно. Берите пакет своего формата из выпуска разработчика.
Как обновить Happ на Linux?
Заново взять пакет выбранного формата и повторить ту же строку установки. Самообновления не предусмотрено, штатному менеджеру системы эта программа неизвестна, а сносить предыдущую копию перед заменой не нужно — профили уцелеют.
Что выбрать — прокси или TUN?
Для начала прокси: он не требует прав администратора и ничего не меняет в системе. TUN нужен, когда в туннель надо увести весь трафик машины, включая консольные утилиты и пакетный менеджер.