No me puedo poner a programar hasta que no termine los exámenes en junio, pero en momentos de saturación durante el estudio sí que he ido preparando el terreno donde se ejecutará el sistema distribuido.
He preparado dos portátiles conectados a un hub. Los dos corren con Fedora y tienen las IPs fijas. Para poder jugar con conexiones de más equipos, ambos tienen instalado virtualbox para instalar más máquinas virtuales.
Estas máquinas virtuales también corren sobre Fedora. El motivo por el que todos utilizan el mismo sistema operativo es que de este modo no me tengo que preocupar (por ahora) de incompatibilidades, por ejemplo, para abrir y cerrar puertos Fedora usa firewall-cmd, otos utilizan directamente iptables.
Para ahorar memoria, se me ha ocurrido que las máquinas virtuales se ejecuten en modo texto. Esto implica que nuestro sistema ha de poder ejecutarse gráficamente (como hasta ahora) y en modo texto. Mediante el paso del argumento -t al ejecutar el lanzador se podrá indicar que queremos que lo haga en modo texto.
En modo gráfico primero se ejecutaría el lanzador y desde éste, se ejecutará Gr abriéndose en otra ventana, donde el usuario podrá interactuar con las dos aplicaciones a la vez. Sin embargo, en modo texto tengo pensado usar el lanzador como puente entre el usuario y Gr: al lanzar el lanzador en modo texto mostrará en el terminal los menus, ejecutará los comandos y mostrará los resultados. Una vez que ejecute Gr, irá recogiendo los mensajes que éste le pase y los colocará en el terminal. Habrá un mecanismo para que el usuario pueda saber si está trabajando con el lanzador o con GR, por ejemplo algo como 'LN> ' para el lanzador y 'GR> ' para Gr y la posibilidad de cambiar entre un modo y otro incorporándolo en los correspondientes menus.
Según tengo previsto, las máquinas físicas ejecutarían las aplicaciones en modo gráfico y las virtuales en modo texto. Así podré ir programando y comprobando que funcionan a la vez.
Bueno, pues en junio nos vemos. Hasta entonces un saludo a los lectores y no olviden que pueden comentar.