Десктопные приложения на интерпретируемых языках. Как это работает?
Приложение можно комплектовать необходимой версией интерпретатора и зависимостями в случае чего.
Но если говорить о Linux - то скорее всего будет просто указана зависимость в пакете от интерпретатора.
Можно ли так сделать, и если да - как сделать приложение на подобном языке, которое не будет требовать от конечного юзера установки интерпретатора со всеми модулями и остальным окружением?
Если язык интерпретируемый, то такое не возможно. Это все равно, что дать вам флешку с файлом и не дать вам компьютер, на котором вы его просмотрите.  В лучшем случае, вы можете написать различные скрипты, которые перед запуском будут проверять наличие в системе необходимых компонент и уведомлять о необходимости их установки. (или просто не запускать ваше приложение. или, возможно, даже, готовить окружение для пользователя самостоятельно)