use*_*531 2 linux xorg openoffice libreoffice
我在 CentOS 基本服务器上使用 CentOS 存储库中的 yum 安装了 libreoffice.x86_64。从 shell 运行以下命令时,我收到以下 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 ~]#
Run Code Online (Sandbox Code Playgroud)
编辑
根据评论,我执行了以下操作,错误消失并转换了文档。
[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
Run Code Online (Sandbox Code Playgroud)
我的最终目标是通过 Apache 使用 PHP 来运行此命令。尝试这样做时,它不会被转换,我也没有收到错误或反馈。然后我尝试使用不同的用户执行相同的命令,但遇到了类似的问题。有什么建议?
-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$
Run Code Online (Sandbox Code Playgroud)
编辑2
如果我重新启动服务器并vncserver :0在其他用户下执行,然后尝试转换文档,它只会无限期地挂起。
编辑3
在设置和不设置显示的情况下都尝试了向导,但效果不佳。也许某种许可问题?
[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]$
Run Code Online (Sandbox Code Playgroud)
小智 8
这是一个旧的,但我今天自己遇到了。使用“--headless”的技巧是您需要安装 libreoffice-headless(即:)yum install libreoffice-headless。并非所有 libreoffice 安装都安装了 libreoffice-headless - 例如,我今天的。
在 user1032531 发布的链接中发现了这个金块。
如果在没有适当包的情况下使用 --headless 会产生一个错误,那就太好了,但事实并非如此。