SEO Note 2.1 на Linux: AppImage и .deb

Linux получает текущую сборку — SEO Note 2.1 — в двух видах: AppImage, который запускается без всякой установки, и .deb, идущий через пакетный менеджер и добавляющий пункт в меню. Оба — под x86_64. Классической сборки 1.3.34 для Linux нет: это программа под Windows.

С этого сайта качают три сборки. SEO Note 2.1 — текущая: Electron-приложение (установщик ~121 МБ) под Windows 10/11 64-бит и Linux x64, с Markdown, редактором дерева, ИИ, обращающимся к вашей модели — локальной или любой с OpenAI-совместимым API, веб-клиппером и git-синхронизацией файла. Для Android 6.0+ и новее есть подписанный релизным ключом APK (~10 МБ) того же интерфейса; заметки в нём лежат папкой Markdown-файлов на устройстве, а пароль, синхронизация, веб-клиппер и ИИ отвечают явным отказом. Классическая сборка 1.3.34 (~2,5 МБ, Win32) осталась на странице загрузки для Windows 7, 8 и 32-битных ПК, куда 2.1 не устанавливается; её файл заметок — .seo. Все три работают офлайн и без аккаунта: выберите сборку или прочитайте, чем отличаются 2.1 и 1.3.34.

Какой файл выбрать

ФайлРазмерЧто делает
SEO-Note-2.1.2.AppImage146 121 320 байт (~139 МБ) Ничего не устанавливает. Один исполняемый файл, который лежит где вам удобно и запускается по имени.
seonote-electron_2.1.2_amd64.deb112 837 524 байт (~107 МБ) Ставит программу, иконку и пункт в разделе «Стандартные». Заявленный установочный размер — 366 873 КБ, около 360 МБ на диске.

AppImage — если попробовать и носить между машинами. .deb — если пользоваться каждый день и хочется видеть программу в меню, а библиотеки пусть подтянет apt.

AppImage

sha256sum SEO-Note-2.1.2.AppImage
chmod +x SEO-Note-2.1.2.AppImage
./SEO-Note-2.1.2.AppImage

Первая строка необязательна, но стоит нескольких секунд: на странице загрузки опубликован SHA-256 каждого файла, у этого AppImage он начинается на ae73a684. Право исполнения файл из браузера не приносит, поэтому chmod +x — второй шаг, а не экстренное лечение.

AppImage монтирует себя при запуске, то есть ему нужны FUSE и десктопное окружение. На урезанной системе — контейнер, голый образ, собранная вручную оконная среда — распакуйте его:

./SEO-Note-2.1.2.AppImage --appimage-extract

Именно так мы перепроверили эту сборку: распаковали её в голом контейнере ubuntu:24.04 — без десктопного стека и без FUSE — и запустили из распакованного дерева на виртуальном X-сервере, предварительно поставив те библиотеки, которые перечисляет .deb. На голом образе ldd у этого бинарника не находит 26 библиотек: X11, GTK, NSS, ALSA и прочее из стека рабочего стола, который обычная Ubuntu или Fedora ставит сам; после установки списка зависимостей из .deb не находит ни одной. Окно появляется с размером 1200×800, первый файл заметок создаётся сам — за этим мы и смотрели. Две честные детали: распакованное дерево просит --no-sandbox, потому что распаковка снимает с chrome-sandbox бит setuid (или верните его: chown root и chmod 4755), и проверяли мы путь распаковки, а не монтирования — FUSE в образе не было; на нормальном рабочем столе AppImage монтируется сам, и ничего из этого не требуется. Если библиотек у вас правда нет, короче путь через .deb: пакет их называет, а apt их добирает.

.deb

sudo apt install ./seonote-electron_2.1.2_amd64.deb

Ведущие ./ важны: без них apt будет искать пакет с таким именем в репозиториях, а не читать файл у вас перед носом.Зависимости пакета: libgtk-3-0, libnotify4, libnss3, libxss1, libxtst6, xdg-utils, libatspi2.0-0, libuuid1, libsecret-1-0, libasound2 | libasound2t64 — это то, что нужно оконной программе на Electron: GTK для окон и диалогов, NSS для хранилища сертификатов, libsecret для системной связки ключей, ALSA для звука. На Ubuntu 24.04 живые имена — с суффиксом t64, и пакет принимает любое из двух.

Удалить: sudo apt remove seonote-electron. Файл заметок остаётся на месте — он данные, а не часть пакета.

Что в этом .deb всё ещё неправильно — прочитано из самого пакета

Взято из control-блока того файла, который отдаёт этот сервер, а не из дерева исходников, поэтому описывает ровно то, что вы качаете. Из трёх дефектов опубликованного пакета 2.0.0 в 2.1.2 остался один.

  • Остался: Homepage: https://github.com/seonote/seonote-electron в метаданных. Аккаунт не наш и никем из известных нам не зарегистрирован. Поле игнорируйте: загрузки и релизы лежат здесь, на странице скачивания. Это остаток конфигурации сборки, а не адрес, по которому стоит переходить или подписываться.
  • Исправлено в 2.1.2: libasound2 объявлена. Пакет 2.0.0 её не перечислял, а Electron'у нужен ALSA для звука, поэтому на урезанном образе рабочего стола программа ставилась и сразу завершалась. Теперь в Depends стоит libasound2 | libasound2t64, и apt тянет её сам. Если вы по-прежнему на файле 2.0.0: sudo apt install libasound2 (в Ubuntu 24.04 и новее пакет может называться libasound2t64).
  • Исправлено в 2.1.2: Description не пустое. Установке это не мешало, но apt show seonote-electron печатал пустую первую строку, и часть браузеров пакетов показывала её так же.

Где лежит файл заметок

При первом запуске программа создаёт notes.seonote в ~/.config/seonote-electron/. В этом одном файле SQLite живёт дерево, тела заметок, теги и поисковый индекс. Перенести его куда угодно можно через «Файл → Сохранить как…»; текущий путь — в «Файл → Свойства файла…», там же кнопки скопировать путь и открыть каталог. Копия файла на другую машину — Windows или Linux — и есть весь перенос: привязанного к операционной системе в нём ничего нет.

Две особенности именно Linux-сборки

  • Импорт старого .seo — только на Windows. В программе на Linux пункт меню виден, но неактивен и подписан (Windows). Это касается формата классической SEO Note, TreePad и KeyNote. Импорт Evernote .enex, выгрузки Google Keep в JSON, простого текста, HTML и Markdown работает. Есть архив .seo — сделайте этот один импорт на Windows и перенесите полученный .seonote сюда; страница переезда разбирает, что доезжает целым, а что нет.
  • Ключу ИИ нужна связка ключей. Пароль до ИИ-адреса хранится в системной связке (libsecret), а не в файле настроек. На рабочем столе с GNOME Keyring или KWallet этого просто не замечаешь. На голой системе без Secret Service программа держит ключ только в текущей сессии и на диск ничего не пишет, значит после перезапуска ключ вводится заново. Это честная альтернатива хранить секрет открытым текстом.

Общие ограничения 2.1 никуда не делись: через приложение ничего не ставится, поэтому новую версию снова скачивают здесь (суточный вопрос GitHub, который задавал файл 2.0.0, из этой сборки удалён). Ни у Linux-файлов, ни у Windows-инсталлятора подписи нет — подписан только APK для Android; несколько сотен МБ на диске — это рантайм, а не заметки. Если машине тяжело, классическая сборка 1.3.34 весит 2,5 МБ — но это Windows-программа, и под Wine мы её не проверяем.


Что почитать дальше

Частые вопросы

Есть ли репозиторий, Flatpak или Snap? Нет. На странице загрузки лежат два файла — AppImage и .deb, и ставятся они руками. Репозитория для apt нет, в магазинах приложений нас тоже нет; обратная сторона этого — ничего не может обновить программу без вашего запроса.

Нужен ли root, чтобы запускать SEO Note на Linux? Для AppImage — нет: это файл, которому вы выдаёте право исполнения и который запускаете. .deb требует sudo, потому что иначе системные пакеты на Debian-подобных дистрибутивах не ставятся.

AppImage добавляет пункт в меню приложений? Нет, он остаётся файлом, который вы запускаете сами. Пункт меню и иконку даёт .deb. Некоторые файловые менеджеры умеют сами предложить ярлык для AppImage — это их функция, в систему SEO Note ничего не пишет.

Можно перенести файл заметок с Windows на Linux? Да, простым копированием: .seonote — база SQLite, в ней ничего системного. Но у обратного направления есть оговорка: импорт старого файла .seo реализован и проверен только на Windows. Сначала импортируйте его там, а полученный файл перенесите на Linux.

Почему AppImage может не запуститься на урезанной системе? Потому что ему нужен десктопный стек. Наша собственная проверка этой сборки — голый образ ubuntu:24.04 без sudo: распаковка через --appimage-extract прошла, а ldd не нашёл 26 системных библиотек, и все они относятся к стеку рабочего стола, который обычная Ubuntu или Fedora ставит сам; FUSE в образе тоже не было, поэтому монтирования не было. С зависимостями, которые перечисляет .deb, программа запустилась. На голой системе короче путь через .deb: пакет перечисляет зависимости, и их добирает apt.