Все совместимые со стандартами приложения в Linux хранят схему рабочего стола в / usr / share / Applications /. В моем конкретном случае использования у меня есть структура данных WnckWindow, и я могу получить pid из этого. Используя этот pid, я могу извлечь командную строку из proc.
К сожалению, похоже, что запись командной строки proc не соответствует параметрам запуска схемы рабочего стола. Например, приложение 'thunderbird' запускается через / usr / bin / thunderbird, но это всего лишь сценарий оболочки, который активирует реальный исполняемый файл: /usr/lib/thunderbird-8.0/thunderbird-bin.
Реальный исполняемый файл не может быть запущен напрямую, поскольку он зависит от путей к библиотекам, настроенных в скрипте / usr / bin / thunderbird. У кого-нибудь есть какие-либо советы о том, как сопоставить номера идентификаторов процессов с соответствующей схемой рабочего стола, не затрагивая описанную мной проблему ?, Спасибо.