webdevqa.jp.net

X11エラーを修正する方法:ディスプレイを開くことができません

CentOSベーシックサーバーのCentOSリポジトリからyumを使用してlibreoffice.x86_64をインストールしました。シェルから次のコマンドを実行すると、次のX11エラーが発生します。 xhostがボックスにインストールされていますが、Xがインストールされていないようです。このエラーの原因とその修正方法を教えてください。

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

[〜#〜]編集[〜#〜]

コメントによると、私は次のことをしました、そしてエラーは消えて、ドキュメントは変換されました。

[[email protected] ~]# yum install tigervnc-server
[[email protected] ~]# vncserver :0
[[email protected] ~]# HOME=/tmp/ayb; /usr/bin/libreoffice -display :0 --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_34.doc

私の最終目標は、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$

EDIT2

サーバーを再起動してvncserver :0他のユーザーの下で、ドキュメントを変換しようとすると、無期限にハングします。

EDIT

表示を設定する場合としない場合の両方でウィザードを試しましたが、うまくいきませんでした。多分ある種の許可の問題?

[[email protected] 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)
[[email protected] 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)
[[email protected] root]$
1
user1032531

これは古いものですが、今日は自分で遭遇しました。 「--headless」を使用する秘訣は、libreoffice-headlessをインストールする必要があることです(例:yum install libreoffice-headless)。すべてのlibreofficeインストールにlibreoffice-headlessがインストールされているわけではありません-たとえば、今日の私のものです。

User1032531が投稿したリンクに埋もれているこのナゲットを見つけました。

適切なパッケージなしで--headlessを使用すると、その結果にエラーが発生するのは良いことですが、そうではありません。

7
lance