Se você está indo sem cabeça, então você não deve precisar de X. Veja Converte o arquivo para PDF usando o LibreOffice sob o usuário apache (ou seja, quando usando PHP) para uma solução de trabalho.
Instalei o libreoffice.x86_64 usando o yum do repositório do CentOS no meu servidor básico do CentOS. Ao executar o seguinte comando a partir do shell, recebo o seguinte erro X11. xhost está instalado na minha caixa, mas X não parece estar. O que causa esse erro e como corrigi-lo?
[root@desktop ~]# HOME=/tmp/ayb; /usr/bin/libreoffice --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_12.xlsx
/usr/lib64/libreoffice/program/soffice.bin X11 error: Can't open display:
Set DISPLAY environment variable, use -display option
or check permissions of your X-Server
(See "man X" resp. "man xhost" for details)
[root@desktop ~]#
EDITAR
Por comentários, fiz o seguinte, e o erro desapareceu e o documento foi convertido.
[root@desktop ~]# yum install tigervnc-server
[root@desktop ~]# vncserver :0
[root@desktop ~]# HOME=/tmp/ayb; /usr/bin/libreoffice -display :0 --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc
Meu objetivo final é usar o PHP através do Apache para executar este comando. Ao tentar fazer isso, ele não é convertido e não recebo nenhum erro ou feedback. Eu então tentei fazer o mesmo comando usando um usuário diferente, mas estou tendo problemas semelhantes. Alguma sugestão?
-sh-4.1$ HOME=/tmp/ayb; /usr/bin/libreoffice -display :0 --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc
No protocol specified
No protocol specified
/usr/lib64/libreoffice/program/soffice.bin X11 error: Can't open display: :0
Set DISPLAY environment variable, use -display option
or check permissions of your X-Server
(See "man X" resp. "man xhost" for details)
-sh-4.1$
EDIT2
Se eu reiniciar o servidor e fizer vncserver :0
sob o outro usuário, tente converter o documento, ele será interrompido indefinidamente.
EDIT3
Tentei o assistente com e sem configuração de exibição, mas não é bom. Talvez algum tipo de problema de permissão?
[NotionCommotion@laptop root]$ HOME=/tmp/ayb; /usr/bin/libreoffice -display :0 --nofirststartwizard --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc
/usr/lib64/libreoffice/program/soffice: line 68: cd: /root: Permission denied
No protocol specified
No protocol specified
/usr/lib64/libreoffice/program/soffice.bin X11 error: Can't open display: :0
Set DISPLAY environment variable, use -display option
or check permissions of your X-Server
(See "man X" resp. "man xhost" for details)
[NotionCommotion@laptop root]$ HOME=/tmp/ayb; /usr/bin/libreoffice --nofirststartwizard --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc
/usr/lib64/libreoffice/program/soffice: line 68: cd: /root: Permission denied
/usr/lib64/libreoffice/program/soffice.bin X11 error: Can't open display:
Set DISPLAY environment variable, use -display option
or check permissions of your X-Server
(See "man X" resp. "man xhost" for details)
[NotionCommotion@laptop root]$
Se você está indo sem cabeça, então você não deve precisar de X. Veja Converte o arquivo para PDF usando o LibreOffice sob o usuário apache (ou seja, quando usando PHP) para uma solução de trabalho.
Este é um antigo, mas eu corri para isso hoje mesmo. O truque para usar "--headless" é que você precisa ter o libreoffice-headless instalado (por exemplo: yum install libreoffice-headless
). nem todas as instalações do libreoffice possuem o libreoffice-headless instalado - por exemplo, o meu hoje.
Encontrei esta pepita enterrada no link user1032531 publicado.
Seria bom se o uso de --headless sem o pacote apropriado gerasse um erro nesse sentido, mas isso não acontece.
yum install openoffice.org-headless
Tags xorg libreoffice linux openoffice