web-dev-qa-db-ja.com

Ubuntu Serverでの仮想ディスプレイの作成

私は、Ubuntu Server(18.04.4)VMを使用しており、FreeNASマシンで仮想化のホストとして bhyve を実行しています。 WebページをヘッドレスでPDF using wkhtmltopdf に保存するサービスを構築しています。wkhtmltopdfを呼び出すと、次のエラーメッセージが表示されます。

qt.qpa.screen: QXcbConnection: Could not connect to display 
Could not connect to any X display.                         

これは、 software wrapper を使用しているか、またはシェルから直接呼び出しているかに関係なく発生します。

wkhtmltopdf https://google.com pdfs/google.com.pdf

上記のようなコマンドが変更なしで機能するようにサーバーを構成するにはどうすればよいですか?

1
adam_0

さらに検索したところ、 問題 が見つかりました。これは、Ubuntuに含まれているwkhtmltopdfバージョンに、そのままでは「ヘッドレス」モードで動作しないqtのバージョンがあることが報告されています。 GitHubから 最新バージョン をインストールすることで、ヘッドレスで動作するバージョンを取得できました。

$ wkhtmltopdf --version               
wkhtmltopdf 0.12.5 (with patched qt)  

どうやらソースからコンパイルしても同じ望ましい効果が得られるか、またはxvfb-run(インポートするコードを変更しないと、wkhtmltopdfを呼び出すことができません)。

1
adam_0