Um esboço muito strong do que eu faria:
-
Tenha uma aplicação de remetente no Ubuntu que você associe a todos esses tipos de arquivos. Ele recebe o caminho para o arquivo e traduz isso em algo que a VM pode entender (por exemplo, um compartilhamento de samba).
-
Ele envia esse caminho para um daemon em execução na VM. Tudo o que isso faz é ouvir as conexões do remetente e, em seguida, abrir os caminhos enviados com o aplicativo padrão.
Mais uma vez, tudo isso é muito alto, mas não deve ser muito difícil fazer o script.
Existem algumas boas ideias alternativas espalhadas pelo chat também.
O resto é construído no VirtualBox (modo contínuo).