ПРАКТИЧЕСКОЕ РУКОВОДСТВО / СОВМЕСТИМОСТЬ

Ваша сессия Linux
определяется?

Эта страница поможет проверить, может ли geetRPCS-linux распознать окно или игру, которыми вы пользуетесь. Выберите своё окружение, посмотрите его статус и выполните приведённые инструкции по установке, если они есть.

Поддерживается Частично / вручную Не проверено
Логотип geetRPCS-linux
BUILT AROUND LINUX

ПРОЧТИТЕ, ПРЕЖДЕ ЧЕМ ПРОДОЛЖИТЬ

Что эта страница
проверяет на самом деле.

Приведённые ниже статусы касаются распознавания активного окна: того, как geetRPCS-linux определяет, какая игра или программа на переднем плане. Сами по себе они не означают, что Discord подключён или что значок программы появится в вашей панели.

Чтобы всё работало, нужен ещё совместимый с Rich Presence клиент Discord, а если вам нужен значок в трее — панель с поддержкой StatusNotifierItem.

БЫСТРЫЙ ТЕСТ · 5 ВОПРОСОВ

Мой рабочий стол
совместим?

Ответьте, исходя из своей конфигурации: опросник покажет, поддерживается ли распознавание, что нужно установить и каких проблем ожидать. Он работает без JavaScript и ничего не собирает.

1 Какая у вас сессия?
Как узнать свою сессию?

Выполните в терминале echo "$XDG_SESSION_TYPE": в ответе обычно будет wayland или x11.

2 Какой рабочий стол или Wayland-композитор?
2 Установлена ли утилита xprop?

Вопрос 2: сначала определите свою сессию с помощью команды выше (в ответе будет wayland или x11), затем выберите соответствующий вариант.

3 Какой у вас клиент Discord?
4 Нужен ли вам значок в области уведомлений (в трее)?
5 Есть ли у вас Application ID Discord?

ВАШ РЕЗУЛЬТАТ

Совместимо на бумаге.

Для вашей сессии есть документированный метод распознавания, а ваш клиент Discord поддерживается. Остаётся просмотреть список ниже и проверить всё на реальном приложении.

Совместимо, но потребуются настройки.

Для вашей конфигурации метод есть, но придётся установить компонент или что-то настроить (расширение, плагин, пакет или конфигурация клиента Discord). Следуйте списку ниже.

Частичная или ручная совместимость.

Для вашей сессии распознавание не нативное: оно ограничено окнами X11/XWayland либо требует внешний инструмент. Некоторые окна могут не определяться.

Сначала определите свою сессию.

Не зная, работаете вы в Wayland или X11, невозможно подсказать правильный метод. Команда приведена в списке ниже.

Ответьте на вопросы, чтобы получить вердикт.

Для вердикта достаточно вопросов 1, 2 и 3; остальные уточняют список пунктов для проверки.

РАСПОЗНАВАНИЕ АКТИВНОГО ОКНА

Ожидание ваших ответов

Ответьте на вопросы 1 и 2.

Поддерживается

GNOME Wayland: необходимо расширение

GNOME не предоставляет протокол wlroots. Чтобы узнать активное окно, geetRPCS-linux опирается на небольшое расширение GNOME Shell — geetRPCS Window Tracker.

Поддерживается

KDE Plasma Wayland: необходим скрипт KWin

Сопутствующий скрипт KWin geetrpcsWindowTracker передаёт активное окно в программу через локальный D-Bus-мост.

Поддерживается

Wayfire: нужно включить плагин

Распознавание идёт через общий протокол композиторов на wlroots. В Wayfire должен быть включён плагин foreign-toplevel.

Поддерживается

Sway, Hyprland, labwc: нативное распознавание

Распознавание использует протокол wlroots, без расширений для конкретного рабочего стола, если соответствующий бэкенд доступен.

Ограничено

Только резервный режим X11 / XWayland

Без нативного бэкенда программа может задействовать свой резервный режим X11/XWayland. Приложения X11 или XWayland могут распознаваться; для нативных окон Wayland гарантий нет.

Вручную

Распознавание нужно организовать самому

Активное окно может указываться в файле состояния, но формировать его должен внешний инструмент: программа сама его не получает. Этот путь рассчитан на опытных пользователей.

Поддерживается

X11: распознавание через xprop

Программа использует xprop, чтобы спросить у X11, какое окно активно. Дополнительные компоненты для вашего случая не документированы.

Требуется установка

X11: сначала установите xprop

Распознавание работает через xprop, но утилита должна присутствовать в системе. После установки ваша сессия поддерживается.

Требует проверки

X11: проверьте наличие xprop

Распознавание работает через xprop. Проверьте, установлен ли он (см. список ниже): это единственное документированное условие для X11.

Не проверено

Сессию нужно определить

Пока вы не знаете свою сессию, нельзя сказать, какой метод распознавания подойдёт. Выполните команду, указанную выше, и пройдите тест заново.

ПОДКЛЮЧЕНИЕ К DISCORD

Ожидание ваших ответов

Ответьте на вопрос 3.

Поддерживается

Discord Desktop

Клиент для Linux использует свой локальный IPC-сокет. Запустите Discord, прежде чем проверять состояние подключения.

Поддерживается

Нативный Vesktop

В Vesktop уже встроен собственный сервер arRPC. Нужно лишь включить опцию Enable Rich Presence via arRPC.

Требуется настройка

Vesktop Flatpak

Песочница может блокировать доступ к IPC-сокету системы. Рекомендуется нативная установка; иначе потребуются дополнительные разрешения.

Зависит от моста

Discord Web и другие клиенты

На машине должен быть доступен совместимый сервер arRPC. Equicord и Vencord опираются на хост-клиент Discord.

ЗНАЧОК В ТРЕЕ

Ожидание ваших ответов

Ответьте на вопрос 4.

Требует проверки

GNOME Shell

Для отображения значка может понадобиться хост или расширение с поддержкой AppIndicator / StatusNotifierItem.

Требует проверки

Budgie или панель Wayfire

Чтобы показать значок, панель должна иметь подходящий апплет StatusNotifier.

Не документировано

Другая панель

Эта панель не описана в документации v0.4.3. Если значок не появился, главное окно остаётся доступным.

Без проблем

Значок не нужен

Интерфейс GTK полностью работоспособен и без значка в области уведомлений.

Что проверить и возможные проблемы

  • Определите свою сессию

    Выполните в терминале echo "$XDG_SESSION_TYPE". В ответе обычно будет wayland или x11. Затем пройдите тест заново.

  • Установите и включите расширение GNOME Shell

    Расширение geetRPCS Window Tracker должно быть установлено и включено. Заявлена совместимость с GNOME Shell 45–51: за пределами этого диапазона совместимость не заявлена. Установщик попытается настроить его автоматически, если в системе есть нужные инструменты GNOME.

  • Убедитесь, что скрипт KWin развёрнут

    Скрипт geetrpcsWindowTracker должен присутствовать. Установщик разворачивает его автоматически, если тот запущен из совместимой сессии KDE (Plasma 5.27–6.x): если вы запускали его из другой сессии, проверьте, что скрипт на месте.

  • Включите плагин foreign-toplevel

    В ~/.config/wayfire.ini добавьте foreign-toplevel в существующий список плагинов секции [core], затем перезапустите Wayfire. Не заменяйте весь список плагинов минимальным примером.

  • Для распознавания больше ничего устанавливать не нужно

    Бэкенд wlroots используется, когда доступен. Если распознавание не срабатывает, проверьте, что ваш композитор действительно предоставляет этот протокол.

  • Рассчитывайте на неполное распознавание

    Отслеживаться могут только окна, доступные через X11 или XWayland. Нативное Wayland-приложение может не распознаться.

  • Подготовьте инструмент отслеживания окон

    Он должен обновлять $XDG_RUNTIME_DIR/geetrpcs-linux/active-window.json, заполняя поля app_id, title и updated_at (метка времени Unix в секундах), не реже чем каждые 6 секунд. Полный формат описан ниже на этой странице.

  • Установите (или проверьте) xprop

    В Arch Linux это пакет xorg-xprop; во многих дистрибутивах Debian/Ubuntu он входит в x11-utils. Чтобы проверить его наличие, выполните command -v xprop: если утилита установлена, отобразится путь.

  • Запустите Discord, прежде чем проверять подключение

    Клиент должен работать, чтобы локальный IPC-сокет был доступен.

  • Включите Rich Presence в Vesktop

    Откройте настройки Vesktop и включите Enable Rich Presence via arRPC. Не добавляйте второй сервер arRPC: в Vesktop уже встроен свой.

  • Flatpak может блокировать подключение

    Песочница может блокировать доступ к IPC-сокету системы. Рекомендуется нативная установка; если оставляете Flatpak, ему понадобятся дополнительные разрешения (см. документацию Vesktop).

  • Нужен совместимый сервер arRPC

    Discord Web и другим клиентам нужен доступный на машине мост arRPC. Equicord и Vencord опираются на хост-клиент Discord.

  • Проверьте публикацию активности в Discord

    В настройках Discord должна быть включена опция «Делиться обнаруженной активностью с другими», иначе ваш статус не появится.

  • Укажите свой Application ID

    Введите его как глобальный ID на вкладке Discord в интерфейсе или как ID отдельного приложения. У некоторых записей каталога уже есть собственный Client ID.

  • Создайте приложение в Discord Developer Portal

    Статус должен быть привязан к приложению Discord. Без корректного Application ID geetRPCS-linux не отправляет статус для записей без собственного Client ID.

  • Проверьте ID на вкладке Discord

    Чтобы показать статус, нужен Application ID Discord. Если на вкладке Discord в интерфейсе нет глобального ID и у приложения нет собственного Client ID, ничего отправлено не будет.

  • Трей: предусмотрите расширение AppIndicator

    В GNOME Shell значку может понадобиться хост или расширение с поддержкой AppIndicator / StatusNotifierItem.

  • Трей: добавьте апплет StatusNotifier

    Budgie Panel и панелям Wayfire нужен подходящий апплет StatusNotifier.

  • Трей: для этой панели нет документации

    Если значок не появится, это не критично: в программе предусмотрен резервный режим с главным окном.

  • Конфиденциальность: неизвестные приложения

    По умолчанию окно, отсутствующее в каталоге, может публиковаться через вашу глобальную Rich Presence — вместе с заголовком, — если доступен Application ID. Отключите «Показывать также приложения, отсутствующие в каталоге» на вкладке Discord, чтобы такие окна считались AFK.

Открыть все карточки

Руководство, а не тест вашей машины. Эти результаты опираются на документацию geetRPCS-linux v0.4.3: они не гарантируют беспроблемную работу, и ни одно окружение прямо не объявлено «несовместимым». Сессия, которой нет в списке, — «не проверена», а не «отклонена».

ВАШ ПЕРВЫЙ ШАГ

Какая у вас сессия?

Названия рабочего стола не всегда достаточно: GNOME, KDE Plasma или оконный менеджер могут работать как с Wayland, так и с X11.

Как узнать свою сессию?

Откройте терминал и выполните:

echo "$XDG_SESSION_TYPE"

Команда обычно выводит wayland или x11. Также сведения о сессии можно посмотреть в системных настройках или на экране входа вашего дистрибутива.

ЧТО ОЗНАЧАЮТ СТАТУСЫ

Три уровня.
Без ложных «да».

Статус показывает уровень поддержки распознавания — согласно документации и механизмам, имеющимся в версии v0.4.3.

Поддерживается

Метод есть.

У проекта есть бэкенд для распознавания активного окна. Тем не менее может понадобиться пакет или сопутствующее расширение.

Частично / вручную

Потребуется ваше участие.

Распознавание опирается на особую конфигурацию или резервный механизм. Для некоторых приложений оно может быть неполным.

Не проверено

Недостаточно данных.

Окружение не описано в матрице. Это не значит, что оно несовместимо.

Не поддерживается: эта пометка зарезервирована для окружений, прямо объявленных несовместимыми. В прилагаемой документации v0.4.3 так не отмечено ни одно окружение.

01 — WAYLAND

Поддерживается.

Wayland — графическая система, которую используют многие современные сессии Linux. Проект не полагается на один-единственный метод: некоторым рабочим столам нужен собственный сопутствующий компонент.

WAYLAND · WLROOTS Поддерживается

Wayfire, Sway,
Hyprland и labwc

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

Что нужно проверить

В Wayfire должен быть включён плагин foreign-toplevel. Sway, Hyprland и labwc используют соответствующий бэкенд, когда он доступен.

Технические подробности для Wayfire

В ~/.config/wayfire.ini добавьте foreign-toplevel в существующий список плагинов секции [core], затем перезапустите Wayfire. Не заменяйте весь список плагинов минимальным примером.

WAYLAND · GNOME / MUTTER Поддерживается

GNOME
Wayland

GNOME использует Mutter, который не предоставляет протокол wlroots. Поэтому geetRPCS-linux опирается на небольшое расширение GNOME Shell, которое сообщает об активном окне.

Что нужно проверить

Расширение geetRPCS Window Tracker должно быть установлено и включено. В версии v0.4.3 заявлена поддержка GNOME Shell 45–51. Основной установщик попытается поставить его автоматически, если в системе есть нужные инструменты GNOME.

Зачем нужно расширение?

Рабочие столы Wayland предоставляют разные сведения об окнах. Сопутствующий компонент GNOME локально передаёт идентификатор и заголовок окна в фокусе процессу geetRPCS-linux.

WAYLAND · KDE / KWIN Поддерживается

KDE Plasma
5.27–6.x

В Plasma Wayland сопутствующий скрипт KWin сообщает программе об окне в фокусе через локальный D-Bus-мост.

Что нужно проверить

Скрипт geetrpcsWindowTracker должен быть развёрнут. Установщик настраивает его автоматически, если он запущен из совместимой сессии KDE.

Зачем нужен сопутствующий скрипт KWin?

KWin не предоставляет протокол wlroots, который используют Sway или Hyprland. Поэтому сопутствующий скрипт передаёт сведения об окнах в geetRPCS-linux через предусмотренный в проекте механизм.

02 — X11 / XORG

Сессии X11.

X11 (часто называемый Xorg) — другая графическая система, которую до сих пор используют многие окружения и оконные менеджеры Linux.

X11 · XORG Поддерживается

GNOME Xorg, XFCE, Cinnamon, i3 и другие совместимые X11-сессии

Программа использует xprop, чтобы спросить у X11, какое окно активно, а затем получает его идентификатор и данные.

Что нужно проверить

Должен быть установлен пакет, поставляющий xprop. В Arch Linux это xorg-xprop; во многих дистрибутивах Debian/Ubuntu он входит в x11-utils.

Зачем нужен xprop?

xprop — небольшая утилита командной строки для чтения свойств окон X11. geetRPCS-linux использует её для распознавания активного окна; это не расширение рабочего стола.

03 — WAYLAND: ОСОБЫЕ СЛУЧАИ

Частичная поддержка
или ручная настройка.

В этих окружениях нет столь прямой интеграции. Распознавание требует внешний инструмент либо ограничено окнами, доступными через X11/XWayland.

WAYLAND · УНИВЕРСАЛЬНЫЙ БЭКЕНД Вручную

Weston, Enlightenment
и другие композиторы

Идентификатор и заголовок активного окна могут передаваться geetRPCS-linux через временный файл состояния. Сама программа их не получает: эти данные должен формировать внешний инструмент.

Для кого?

Метод рассчитан на опытных пользователей, способных настроить собственный инструмент отслеживания окон.

Ожидаемый формат (для опытных пользователей)

Обновлять нужно файл $XDG_RUNTIME_DIR/geetrpcs-linux/active-window.json. Он должен содержать поля app_id, title и updated_at (метка времени Unix в секундах). Файл следует обновлять до истечения срока действия содержимого, то есть каждые 6 секунд.

{
  "app_id": "org.example.Application",
  "title": "Заголовок окна",
  "updated_at": 1794067200
}

Значение updated_at выше — лишь пример формата: ваш инструмент должен подставлять текущее время при каждом обновлении.

WAYLAND · РЕЗЕРВНЫЙ РЕЖИМ X11 / XWAYLAND Ограничено

COSMIC и сессии
без выделенного бэкенда

Если нативного бэкенда нет, geetRPCS-linux может задействовать свой резервный режим X11/XWayland. Он не позволяет отслеживать все нативные Wayland-окна.

Что это значит

Приложения, доступные через X11 или XWayland, могут распознаваться. Для нативных Wayland-окон такой гарантии нет.

04 — ЗНАЧОК В ОБЛАСТИ УВЕДОМЛЕНИЙ

Распознавание и значок в трее
— две разные вещи.

Распознавание сообщает программе, какое окно активно. Трей (маленький значок рядом с часами) зависит от панели вашего рабочего стола. geetRPCS-linux использует протокол StatusNotifierItem, поэтому для отображения значка панель должна иметь совместимый хост.

В GNOME Shell может понадобиться хост или расширение с поддержкой AppIndicator/StatusNotifierItem. Budgie Panel и панелям Wayfire тоже нужен подходящий апплет StatusNotifier.

Если хост для трея недоступен, интерфейс GTK остаётся рабочим; в программе предусмотрен резервный режим с главным окном.

05 — КЛИЕНТ DISCORD

Проверьте также
свой клиент Discord.

Даже если окно распознано верно, статус появится только если geetRPCS-linux может связаться с совместимым клиентом Discord и у него есть подходящий Application ID Discord.

A

Discord Desktop

Клиент для Linux использует свой локальный IPC-сокет. Запустите Discord, прежде чем проверять состояние подключения.

B

Нативный Vesktop

Откройте настройки Vesktop и включите Enable Rich Presence via arRPC. Сервер arRPC в Vesktop уже встроен.

C

Vesktop Flatpak

Песочница может блокировать доступ к сокету хоста. Рекомендуется нативная установка; если оставляете Flatpak, обратитесь к документации Vesktop.

06 — НЕОПИСАННЫЕ ОКРУЖЕНИЯ

Не проверено

Вашего окружения нет в списке?

Это не обязательно проблема. Это лишь значит, что поддержка не описана в документации v0.4.3, на которой основана эта страница. Рабочий стол может работать за счёт одного из существующих механизмов, но без проверки считать это подтверждённым не стоит.

В этой документации ни одно конкретное окружение прямо не объявлено «не поддерживается». Матрица намеренно различает «не проверено» и «несовместимо».

07 — НЕБОЛЬШОЙ ГЛОССАРИЙ

Термины
простыми словами.

В карточках встречаются технические термины. Вот что они означают — без деталей реализации.

Wayland

Современная графическая система, которую используют многие рабочие столы Linux. Она строже защищает данные между приложениями, поэтому методы распознавания зависят от рабочего стола.

X11 / Xorg

Более старая графическая система, всё ещё широко распространённая. Она предлагает способ чтения активного окна, которым пользуется geetRPCS-linux.

Backend

Технический способ, с помощью которого программа получает имя или идентификатор активного окна в конкретной сессии.

Расширение / сопутствующий компонент

Небольшой модуль, добавляемый в рабочий стол (например, GNOME Shell или KWin), чтобы передать программе сведения, которые графическая система не даёт напрямую.

XWayland

Слой совместимости, позволяющий некоторым приложениям, созданным для X11, работать в сессии Wayland.

StatusNotifierItem (трей)

Протокол, который позволяет приложению показывать свой значок и меню в области уведомлений совместимой панели Linux.

БАЗА ДОКУМЕНТАЦИИ: v0.4.3

Ваше окружение
есть в списке?

Вернитесь к обзору проекта, чтобы разобраться в его функциях, требованиях и текущих ограничениях.

Узнать больше о проекте