В Qt 5.5 появилась встроенная релизация StatusNotifierItem, альтернативного системного трея для Unix (замена XEmbed), используемого в Ubuntu Unity и KDE 4/5.
Но там есть неприятный баг: если QSystemTrayIcon::show() вызван раньше, чем QSystemTrayIcon::setContextMenu(), то контекстное меню не создается. Неизвестно, исправят ли его в 5.5.x или 5.6, так что я предлагаю простой патч для обхода этого бага.
Применил, спасибо.