X11エラーの修正方法:ディスプレイを開けません


1

CentOSベーシックサーバー上のCentOSリポジトリからyumを使用してlibreoffice.x86_64をインストールしました。シェルから次のコマンドを実行すると、次の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

私の最終目標は、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して他のユーザーの下で実行してからドキュメントを変換しようとすると、無期限にハングします。

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

たぶん、ランタイムスイッチ-display :0
ジョセフクインジー

libreofficeがXサーバーに接続しようとしていることは明らかです(実行していないことを示しているようです)--headless。それが正しいフラグではなかったか、期待どおりに動作しませんでした(そして、Xサーバーが機能する必要があります)。
イータンReisner

@EtanReisner他のサーバーでこれを使用できましたが、他のサーバーにはおそらくXサーバーをインストールしたgnomeがインストールされていました。Xサーバーがインストールされているか、実行されているかどうかを確認するにはどうすればよいですか?
user1032531

@JosephQuinseyこんな感じ?[root@desktop root]# HOME=/tmp/ayb; /usr/bin/libreoffice -display :0 --headless -convert-to pdf --outdir /tmp/ayb /tmp/ayb/document_12.xlsx /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)
user1032531

ヘッドレスのアイデアは、Xの必要性を排除することです-この機能が完全であることは明らかではありません。すべてのXをインストールする代わりに、vncserverをインストールしてとして実行しますvncserver :0。次にDISPLAY =:0をエクスポート
ポール

回答:


7

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

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

適切なパッケージなしで--headlessを使用すると、その結果に対してエラーが生成された場合は便利ですが、そうではありません。


-1

ヘッドレスになる場合は、Xは必要ありません。実用的なソリューションについては、ユーザーapacheでLibreOfficeを使用してファイルをPDFに変換する(PHPを使用する場合)を参照してください。


同じ問題が発生しました。この問題は簡単に再現できます。コマンドラインでは機能しますが、以前に「unset DISPLAY」を発行した場合は機能しません。そのため、何らかの理由で、LibreOffice 5.1では、-headlessを実行している場合でも、動作するXが必要です。私のコマンドライン:「exec / usr / bin / ooffice --headless --convert-to pptx /tmp/filecCn4GT.odp」。フランク
フレーバー

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.