Introdução
Instalação
Guias
- Engine
- Profile
- Browser
- BrowserView
- Navegação
- Conteúdo
- DOM
- JavaScript
- Pop-ups
- Diálogos
- Downloads
- Rede
- Cache
- Cookies
- Proxy
- Autenticação
- Plugins
- Impressão
- Senhas
- Perfis de dados do Usuário
- Cartões de Crédito
- Mídia
- Área de transferência
- Zoom
- Corretor Ortográfico
- Implantação
- Chromium
Resolução de Problemas
Modo Headless
Iniciando o X Server no Linux Headless
A biblioteca JxBrowser pode ser utilizada no ambiente Linux headless, dado que o servidor X esteja rodando.
Aqui está como iniciar o servidor X:
1. Instalar o servidor Xvfb
no seu Linux headless, por exemplo, Ubuntu Server 16.04.2 LTS:
sudo apt-get install xvfb
2. Executar a sua aplicação Java
Ao iniciar o servidor X autônomo:
Xvfb :1 -screen 0 800x600x24+32 &
export DISPLAY=:1
java -jar application.jar
ou usando o comando xvfb-run
:
xvfb-run --server-args="-screen 0 800x600x24+32" java -jar application.jar
É obrigatório especificar o tamanho da tela e a profundidade da cor.
E a flag “headless”?
Chromium 58 e superior suportam
o sinalizador de linha de comando --headless
que funciona apenas para Linux.
A flag permite rodar o Chromium em ambiente Linux headless sem
iniciar o servidor X.
Esta flag é projetada para o caso em que você só precisa executar o Chromium em
ambiente headless, carregar alguma URL, e anexar à página web carregada
usando DevTools através do switcher --remote-debugging-port
. Por exemplo:
chrome --headless --remote-debugging-port=9222 https://chromium.org
Neste caso, carrega-se a página web localhost:9222
numa aplicação
do navegador web e trabalha-se com a página web carregada utilizando o DevTools.
Como você pode ver, o sinalizador de linha de comando --headless
foi projetado para ser
usado quando você precisa carregar uma única página web e trabalhar com ela via
DevTools. Verificamos o código fonte do Chromium e descobrimos que esta flag
força o Chromium a utilizar uma versão separada e limitada da API Chromium
que não suporta a maioria (~80-90%) das funcionalidades utilizadas no
JxBrowser.
O que significa que esta flag desativa a maioria das funcionalidades do JxBrowser, tais como carregar diferentes páginas Web por URL, HTML, navegar para trás e para a frente, executar JavaScript, etc.
É por isso que esta flag NÃO é suportada pelo JxBrowser, e recomendamos que inicie o servidor X para utilizar o JxBrowser num ambiente Linux headless.