ディスプレイなしでCentOSでFirefoxを実行するにはどうすればよいですか?[閉まっている]


16

Webテストを実行するために、ヘッドレスCentOSサーバーでFirefox GUIブラウザーを実行しようとしています。

SeleniumサーバーAPIを使用してブラウザーの入力を制御し、出力を検査するため、グラフィカルな出力を表示する必要はありません。

セットアップはデスクトップMacコンピューターで正常にテストされました。ただし、「エラー:ディスプレイが指定されていません」というメッセージが表示され、ヘッドレスVPS CentOSサーバーで実行できません。(これは、ラックのどこかにあるサーバーにすぎないため、理にかなっています。)

Firefoxをディスプレイなしで実行するにはどうすればよいですか。Seleniumはディスプレイと対話できますか?または-より広く-ディスプレイがない場合、LinuxサーバーでGUIのみのアプリケーションを実行する方法を教えてください。

Firefoxには次のコマンドラインオプションがあることに気付きました。

X11 options
  --display=DISPLAY  X display to use

残念ながら、CentOSでのX11やディスプレイについては何も知らないので、コマンドラインで何を指定するか、またはこれが役立つかどうかはわかりません。


4
13回スターが付けられた質問が「あまりにもローカライズされた」ものとして閉じられているのは非常に奇妙です。
harshath.jr

1
まさに、私は同様の問題を抱えており、質問と回答の両方が私にとって有益でした。誰かが別の解決策を見つけた場合に備えて、明確に再開する必要があります。
マレクロスト

回答:


18

Xvfbを使用します。物理ディスプレイへの接続を必要としないXサーバーを提供します。

(CentOSでは、「yum install xorg-x11-server-Xvfb」のようなことをします。)

次に、コマンド「/ path / on / which / installed / Xvfb:1 -screen 0 1024x768x24&」を使用して、ディスプレイ「:1」で起動できます。これにより、解像度1027x768、深さ24の画面が作成されます。「&」を使用すると、コマンドがバックグラウンドで実行されます。

Firefoxを起動する前に、ディスプレイにアクセスできるようにする必要があります。これは、エクスポートコマンドを使用して行います。「export DISPLAY =:1」、適切なホストを指します。


うわー!ありがとう!うまくいきますが、ディスプレイから奇妙なエラーメッセージが大量に得られます。それらに関する新しい質問を投稿します。要するに、メッセージにもかかわらず、それは機能し、必要なデータを返しています。どうもありがとう、これは私が必要とした助けにすぎません。
エリック

ちなみに、すべての作業が終了したらXvfbディスプレイを「シャットダウン」できますか?
エリック

プロセスを強制終了できます。さらに洗練されたい場合は、開始/停止スクリプトの設定を調べることができます(パッケージがまだ提供していない場合。xvfbスクリプトについては/etc/init.dを調べてください)。
cjc

1
了解、ありがとう。私はケースであなたはより多くの評判ポイント:-)を探している、私は見ている情報/エラーメッセージに関するフォローアップの質問を掲載しましたserverfault.com/questions/363914/...
エリック・

この答えは正しいですが、しなければならないことを心に留めておくexportコマンドは、同じ端末セッションに設定しなければならない、あなたのFirefoxの実行つもり端末として
TuyenNTA
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.