Bagaimana saya bisa menjalankan Firefox di CentOS tanpa layar? [Tutup]

16

Saya mencoba menjalankan peramban GUI Firefox di server CentOS tanpa kepala untuk melakukan beberapa pengujian web.

Saya tidak perlu melihat output grafis, karena saya menggunakan server Selenium API untuk mengontrol input browser dan memeriksa output.

Penyiapan berhasil diuji pada komputer Mac desktop. Namun, gagal berjalan di server VPS CentOS tanpa kepala saya dengan pesan berikut "Kesalahan: tidak ada tampilan yang ditentukan." (Yang masuk akal, karena itu hanya server yang duduk di rak di suatu tempat.)

Bagaimana saya bisa menjalankan Firefox tanpa layar, sehingga Selenium dapat berinteraksi dengannya? Atau - lebih luas - bagaimana orang menjalankan aplikasi khusus GUI di server Linux ketika tidak ada tampilan?

Saya perhatikan bahwa Firefox memiliki opsi baris perintah ini:

X11 options
  --display=DISPLAY  X display to use

Sayangnya saya tidak tahu apa-apa tentang X11 atau tampilan di bawah CentOS jadi saya tidak tahu apa yang harus ditentukan pada baris perintah, atau jika ini akan membantu.

Eric
sumber
4
Saya merasa sangat aneh bahwa pertanyaan yang telah dibintangi 13 kali ditutup sebagai "terlalu terlokalisasi".
harshath.jr
1
Persis, saya mengalami masalah yang sama dan baik pertanyaan maupun jawabannya bermanfaat bagi saya. Pasti harus dibuka kembali jika seseorang menemukan solusi lain.
Marek Rost

Jawaban:

18

Gunakan Xvfb. Ini memberi Anda X server yang tidak memerlukan koneksi ke tampilan fisik.

(Jadi, pada CentOS, Anda akan melakukan sesuatu seperti "yum instal xorg-x11-server-Xvfb".)

Anda kemudian dapat memulainya pada tampilan ": 1" dengan perintah "/ path / on / yang / diinstal / Xvfb: 1-layar 0 1024x768x24 &". Ini akan membuat layar dengan resolusi 1027x768 dan kedalaman 24. Penggunaan "&" akan membuat perintah dieksekusi di latar belakang.

Sebelum meluncurkan Firefox, Anda harus membuat tampilan dapat diakses, yang dilakukan dengan menggunakan perintah Ekspor - yaitu. "export DISPLAY =: 1", menunjuk ke host apa pun yang sesuai.

cjc
sumber
Wow! Terima kasih! Itu bekerja - meskipun saya mendapatkan BANYAK pesan kesalahan aneh dari layar. Saya akan memposting pertanyaan baru tentang itu. Intinya, terlepas dari pesan, itu berfungsi dan mengembalikan data yang saya butuhkan. Terima kasih banyak, ini hanya bantuan yang saya butuhkan.
Eric
By the way - bagaimana saya bisa "mematikan" tampilan Xvfb ketika saya sudah selesai dengan semuanya?
Eric
Anda harus bisa membunuh prosesnya. Jika Anda ingin menjadi lebih canggih, Anda dapat melihat pengaturan skrip start / stop (jika paket belum menyediakannya; mungkin: lihat di /etc/init.d untuk skrip xvfb apa pun).
cjc
1
Terima kasih, terima kasih. Saya telah mengirim pertanyaan tindak lanjut mengenai info / pesan kesalahan yang saya lihat, jika Anda mencari lebih banyak poin reputasi :-) serverfault.com/questions/363914/…
Eric
Jawaban ini benar tetapi Anda HARUS diingat bahwa exportperintah HARUS ditetapkan pada sesi terminal yang sama dengan terminal Anda akan menjalankan firefox Anda
TuyenNTA