Tôi đang cố gắng thực thi firefox không đầu trên máy từ xa (chạy Ubuntu 16.04) thông qua Selenium thông qua SSH. Tuy nhiên, điều này mang lại cho tôi lỗi "Lỗi: GDK_BACKEND không khớp với màn hình có sẵn". Máy chủ của tôi chạy Windows. Tôi không muốn thấy đầu ra đồ họa. Nó chỉ đang được sử dụng để thử nghiệm selen.
Tôi đang sử dụng X Virtual Frame Buffer để hoạt động như một trình điều khiển giả:
Xvfb :10 -screen 0 1024x768x16 &
Tôi cũng đã xuất biến môi trường HIỂN THỊ với giá trị 10 cho trường hợp cụ thể này.
Tôi làm sai ở đâu?
EDIT: Khi tôi chỉ đơn giản chạy "sudo firefox" trong dòng lệnh của mình qua SSH sau khi chạy xvbf, không có lỗi nào được đưa ra. Lỗi chỉ được ném khi chạy firefox qua selen.
Thêm chi tiết: -
Tôi đang gọi firefox thông qua selen. Lỗi chính xác mà máy chủ độc lập selen đưa ra là: -
17:52:55.218 INFO - Executing: [new session: Capabilities [{browserName=firefox, platform=ANY, firefox_profile=UEsDBBQAAAAAAJuOD0nf9RXUMgAAA...}]])
17:52:55.230 INFO - Creating a new session for Capabilities [{browserName=firefox, platform=ANY, firefox_profile=UEsDBBQAAAAAAJuOD0nf9RXUMgAAA...}]
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
Error: GDK_BACKEND does not match available displays
GDK_BACKEND
, nơi duy nhất tôi biết rằng nó được sử dụng là buộc GTK phải sử dụngwayland
. Trong trường hợp đó, nó sẽ được đặt thành GDK_BACKEND=wayland
. Tương đương với xorg sẽ là GDK_BACKEND=xinit
(nhưng đó là một phỏng đoán).
xinit
cài đặt theo mặc định , vì vậy, có thể, firefox không thể thấy rằng nó nên sử dụng xorg làm phụ trợ.