Решение большинства проблем - поиграться с версиями программы. А при использовании разделяемых библиотек это невозможно. Вроде бы для установки программ вместе с библиотеками существует AppImage и его альтернативы, но все они портят стили (или темы или look & feel) приложений. Попробуйте запустить например mkvtoolnix-gui установленный через apt и AppImage и вы увидите, что интерфейс не одинаковый.
Как я понимаю, за внешний вид графических программ отвечает тема Qt или Gtk, эти библиотеки передают X-серверу команды типа «нарисуй такие-то пиксели», а не «нарисуй такую-то кнопку и напиши такой-то текст». Тогда возможное решение - не паковать Qt с приложением, а использовать системную, но такой AppImage будет не совсем переносимым, потому что в Qt обратной совместимости нет и программа, которой нужна Qt3, на современных дистрибутивах не запустится, насчет Gtk не знаю.
В Винде программы тащат все либы с собой, но там все программы выглядят одинаково и согласно стилю той версии Винды, на которой они выполняются и настройкам персонализации. Как же это так сделано и почему мы не можем сделать так же? Я хочу какой-то API для рисования окошек, обладающий обратной совместимостью, чтобы можно было программу, написанную когда угодно, запустить когда угодно.