Не беспокойтесь об этом, если нет действительно многих зависимостей.
Носильщики / упаковщики в командах знают, как обрабатывать зависимости времени сборки и времени выполнения. И упомянутые вами инструменты могут быть установлены не во всех системах (особенно pkg-config
), но все они довольно распространены и хорошо понятны.
Вы должны задокументировать зависимости, и это все, что нужно знать этим людям.
Хотя вопрос предполагал, что Xephyr был запущен правильно (поскольку информация по этому поводу не предоставлена), я, по крайней мере, подтвердил, что qBittorrent отлично работает в Xephyr на Debian Xfce Wheezy.
На скриншоте ниже показан qBittorrent 2.9.8 в Xephyr.
Это было протестировано на Debian Xfce Wheezy и с использованием последних пакетов libqtcore4
и xserver-xephyr
, доступных на данный момент, которые аналогичны версиям, указанным в вопросе.
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 7.9 (wheezy)
Release: 7.9
Codename: wheezy
$ dpkg-query -W | grep libqt
libqt4-dbus:i386 4:4.8.2+dfsg-11
libqt4-network:i386 4:4.8.2+dfsg-11
libqt4-xml:i386 4:4.8.2+dfsg-11
libqtcore4:i386 4:4.8.2+dfsg-11
libqtdbus4:i386 4:4.8.2+dfsg-11
libqtgui4:i386 4:4.8.2+dfsg-11
$ dpkg-query -W | grep xephyr
xserver-xephyr 2:1.12.4-6+deb7u6
Единственным релевантным поиском, который я нашел, была Ошибка 71421 , сообщающая о том, что «приложения Qt5 не работают с Xephyr».
При попытке запустить какие-либо приложения Qt5 (или явно GTK3) внутри Xephyr они не работают (так как ничего не показано). GTK2 или Qt4 работают так же хорошо, как и приложения GLX (например, glxgears). Также протестирован на автономном X-сервере без запущенного DM - Qt5 отлично работает там, только внутри Xephyr они этого не делают.
Эта ошибка похожа на вопрос, за исключением того, что затрагивает только приложения Qt5. Ошибка возникла из-за Qt5 и была исправлена недавно, в конце апреля этого года.
Кроме того, не было предоставлено никакой информации о том, как приложение запускалось в Xephyr.
Вышеупомянутые приложения работают при запуске на обычном X-сервере, но когда я запускаю их в Xephyr, я вижу только рамку окна, но она пуста.
Основываясь на процитированном тексте, у меня есть еще кое-что, чтобы сомневаться: работал ли Xephyr с неверными аргументами? Или, скорее, как приложение было запущено в Xephyr от имени другого пользователя?
Если вы действительно уверены, что приложения Qt4 не работают в Xephyr, это может быть проблема, о которой не сообщалось в пакете Qt4. Но поскольку я подтвердил, что qBittorrent (на основе Qt4) отлично работает в Xephyr, это может быть проблема с «другим пользователем» или с тем, как Xephyr запускался из текущего сеанса.
Это несколько онлайн-источников, которые объясняют использование Xephyr для выполнения определенных задач.
Ксефир на ArchWiki. Хорошее место для начала работы с Xephyr, но мало что объясняет об обширном использовании, кроме запуска терминала или оконного менеджера в Xephyr.
Не знаю, как начать работу с Ксефиром. Что я делаю не так? в списке рассылки Xorg от четверг, 23 января, 17:16:40 PST 2014. Другой способ запуска Xterm в Xephyr.
Как запустить несколько рабочих столов X? на суперпользователе, спросил 22 июля '09. Один из ответов предлагал использовать Ксефир. Аналогично тому, как предложено в источнике №1.
Многопользовательская конфигурация / Xephyr: Как создать мультитерминал с Xephyr в Викиучебниках.
Скриншоты с нескольких X-серверов на Unix и Linux Stack Exchange, задано 21 августа 2014 года.
Как: запустить firefox (и другие вещи) как отдельный пользователь с Xephyr . Кажется, это наиболее похожее использование, как указано в вопросе.
Причина, по которой я процитировал эти источники, состоит в том, чтобы предоставить соответствующие подсказки, которые могут помочь вам уточнить, правильно ли вы запускаете приложение Qt в Xephyr или нет.
При этом есть что-то непонятное для понимания первого предложения «использование Xephyr для запуска приложений от имени другого пользователя, во время входа в систему как основного пользователя». В конце концов, я не создавал «другого пользователя» для тестового запуска qBittorrent в Xephyr. Возможно, кто-то другой может дать лучший ответ.
Может быть полезно узнать, какая команда используется для запуска Xephyr и какой оконный менеджер используется.
Я пробовал это:
Xephyr :1 &
DISPLAY=:1 openbox &
DISPLAY=:1 qbittorrent
и получил неполное содержимое окна qbittorrent. Попробовав то же самое с xfwm4:
Xephyr :1 &
DISPLAY=:1 xfwm4 &
DISPLAY=:1 qbittorrent
, все в порядке, и qbittorrent можно использовать.
Я не могу объяснить, почему существует разница, но, очевидно, она есть. Я заподозрил проблемы с составной частью и попытался запустить Xephyr с включенной составной частью:
Xephyr +extension Composite :1 &
но, похоже, это не имеет значения.
РЕДАКТИРОВАТЬ: xfwm4 имеет возможности композитинга, openbox - нет. Возможно, композит все же является решающим ключом.