O JavaFX é executado em sistemas Linux, utilizando o buffer de quadros. Ele captura todas as entradas e saídas e desenha diretamente na tela usando a GPU. É por isso que não há frames de janelas, botões de fechamento, etc. Os aplicativos JavaFX serão executados mesmo se nenhum servidor X estiver disponível, porque eles realmente não precisam dele. Eu tenho executado com sucesso aplicativos javafx no ambiente do terminal. Existem bibliotecas que dão acesso a um framebuffer e enviam comandos para ele, mas você precisa verificar sua linguagem de programação.