1

Я установил libreoffice.x86_64, используя yum из репозитория CentOS на моем базовом сервере CentOS. При запуске следующей команды из оболочки я получаю следующую ошибку X11. xhost установлен на моем компьютере, но X не отображается. Что вызывает эту ошибку и как ее исправить?

[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 ~]#

РЕДАКТИРОВАТЬ

По комментариям я сделал следующее, и ошибка исчезла, и документ был преобразован.

[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

Моя конечная цель - использовать PHP через Apache для запуска этой команды. Когда я пытаюсь это сделать, он не конвертируется, и я не получаю ошибок или отзывов. Затем я попытался выполнить ту же команду, используя другого пользователя, но у меня похожие проблемы. Какие-либо предложения?

-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

Если я перезагружаю сервер и выполняю vncserver :0 под другим пользователем, то пытаюсь конвертировать документ, он просто зависает на неопределенное время.

EDIT3

Пробовал мастера как с настройками отображения, так и без, но безрезультатно. Может быть, какая-то проблема с разрешением?

[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]$

3 ответа3

7

Это старый, но я столкнулся с этим сам сегодня. хитрость использования «--headless» заключается в том, что вам нужно установить libreoffice-headless (то есть: yum install libreoffice-headless). не во всех установках libreoffice установлен libreoffice-headless - например, мой сегодня.

Нашел этот самородок похоронен в ссылке user1032531 опубликовал.

Было бы неплохо, если бы --headless без соответствующего пакета генерировал ошибку на этот счет, но это не так.

-1

Если вы идете без головы, то вам не нужен X. См. « Преобразование файла в PDF с использованием LibreOffice» в разделе «Apache пользователя» (т.е. при использовании PHP) для рабочего решения.

-2

https://www.centos.org/forums/viewtopic.php?t=21514

yum install openoffice.org-headless

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .