Primero, I found a couple de java specific questions y respuestas para esto. Estoy buscando una solución más "nativa", pero multiplataforma, usando C, C++, algún tipo de scripts de shell, o, en mi caso, Qt.¿Existe una forma de plataforma cruzada no java para iniciar la aplicación asociada para un determinado tipo de archivo?
Así que la pregunta es, ¿existen formas estándar, multiplataforma, de abrir programáticamente la aplicación asociada para ciertos tipos de archivos. ¿O al menos para saber si hay aplicaciones asociadas y poder ubicarlas e iniciarlas?
Por plataforma cruzada me refiero a Windows, OSX y Linux (gnome/kde). El caso de uso es tener una base de datos con archivos almacenados como blobs que se leerán en los tres objetivos diferentes.
Gracias, xdg-open fue la parte que faltaba. Además, perdone mi uso de "linux" como un término general para ese sabor del sistema operativo. Creo que todos aquí saben que es un kernel, pero aún entienden lo que significa. – FeatureCreep
Sé que puedo ser un poco pedante sobre tales cosas, pero en mi opinión, es importante tener razón acerca de estas cosas: la abrumadora mayoría absoluta de las computadoras Linux * no * admite 'xdg-open'! Mi teléfono móvil, reproductor de DVD, decodificador de televisión por cable, grabadora de disco duro, NAS Box y PDA ejecutan Linux, pero ninguno de ellos tiene 'xdg-open'.Además, cada TiVo en el planeta, y casi todos los WiFi o enrutadores de banda ancha, ejecutan Linux, y ninguno de ellos tiene 'xdg-open'. OTOH, una gran cantidad de FreeBSD, NetBSD, ... escritorios, que * no * ejecutan Linux pero son compatibles con XDG * do * tienen 'xdg-open'. –
Por lo tanto, realmente tiene todo que ver con la especificación de Freedesktop y no tiene nada que ver con Linux. –