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.
Jawaban:
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.
sumber
export
perintah HARUS ditetapkan pada sesi terminal yang sama dengan terminal Anda akan menjalankan firefox Anda