Problemas com Desktop.getDesktop().open(new File(caminho do arquivo));

Eu tenho um aplicativo Java e quando uso java.awt.Desktop:

Desktop.getDesktop().open(new File(caminho do arquivo));

Funciona bem no Windows (abre um arquivo no meu programa padrão), mas no Ubuntu, o aplicativo Java trava e eu nem consigo obter nenhum erro de log ou algo assim. Na minha maquina, no localhost roda legal, mas quando subo a aplicação no servidor (DROPLED no DIgital Ocean, Ubuntu 24.04) não abre o arquivo. Estou usando o ITEXT para gerar um PDF

O caminho do arquivo está correto, pois no ITEXT ele gera o arquivo, consigo acessar o arquivo pelo terminal do ubuntu e vejo que ele foi gerado, está lá, só não consigo chamar ele para mostrar na tela

O que posso fazer? Posso verificar algumas configurações ou registros do sistema? Ou talvez obter alguns registros de java.awt.Desktop ? Ou isso não funciona no Ubuntu / Linux?

Existem alternativas?

Não consigo postar o código agora pois estou no trabalho, assim que chegar em casa posto o código.

Mas porque você quer abrir um arquivo no servidor?
Se você quer gerar um PDF não precisa do java.awt.Desktop.

Então pode parecer bobo, mas não sei como fazer isso rs rs rs, existe algum codigo java que da pra fazer isso?. A intenção é que o usuário cilque no botão gere o arquivo em PDF e abra o arquivo no browser para ele poder salvar salvar em sua prórpria maquina, como não consegui um código que faça abrir o documento no browser usei o java.awt.Desktop, no windows funcionou, mas no Ubuntu 20.04 server não. Detalhe quando eu digito meu dominio e passo o endereço ele abre o documento no browser, mas queria que isso fosse feito de modo dinamico.

O java.awt.Desktop serve pra você abrir o arquivo usando o visualizador padrão configurado no sistema operacional.
Você não pode usar ele no servidor, se você quer enviar o PDF para o cliente, precisa gerar um botão ou link para o cliente clicar e aí disponibilizar o arquivo para download.

Existem N formas de fazer isso, depende as API’s e frameworks que está usando para implementar sua aplicação WEB.

Entendi, estou usando o Prime Faces, vou dar uma pesquisada no site deles. Muito obrigado