2013-01-14 38 views
10

Tại nơi làm việc, chúng tôi kiểm tra đầy đủ các thành phần GUI. Vấn đề phát sinh từ thực tế là, trong khi các testuite đang chạy, các thành phần khác nhau bật lên, ăn cắp sự tập trung hoặc làm cho nó không thể tiếp tục làm việc. Điều đầu tiên tôi nghĩ đến là Xnest, nhưng tôi đã tự hỏi nếu có một giải pháp thanh lịch hơn cho vấn đề này.Máy chủ X giả để thử nghiệm?

Trả lời

9

Tôi nghĩ rằng những gì bạn cần làm ở đây là các thử nghiệm của bạn chạy trên một Màn hình khác với màn hình bạn đang làm việc.

Khi chúng tôi chuyển các đại lý TeamCity của mình sang EC2, chúng tôi đã tìm ra giải pháp để chạy thử nghiệm đơn vị giao diện người dùng trên máy chủ Linux không đầu. Tôi đã tìm ra cách để thực hiện điều này trong blog post, trong đó phác thảo cách sử dụng Xvfb.

Đối với trường hợp của tôi, tất cả tôi phải làm là:

  • yum install xorg-x11-server-Xvfb
  • Xvfb :100 -ac để chạy các máy chủ. Tôi đã thêm nó vào tập tin rc.local của tôi trên các đại lý EC2 của tôi để khởi động nó khi khởi động máy.
  • Sau đó, tôi thêm env.DISPLAY :100 để TeamCity build cấu hình của tôi
+0

tôi đã cố gắng giải pháp của bạn, nhưng tiếc là các bài kiểm tra của tôi sụp đổ với lỗi segmentation. Tôi đang sử dụng rất nhiều thứ, đặc biệt là Qt và OpenGL. Bạn có biết bất cứ điều gì có thể làm việc trên một máy chủ X tiêu chuẩn, nhưng thất bại trên Xvfb? –

+1

@StefanoBorini Thật không may là không. Sự hiểu biết của tôi là nó sẽ hoạt động giống như một máy chủ X 'thực', nhưng tất nhiên có thể có vấn đề với việc thực hiện, như với bất cứ điều gì. Một google nhanh chóng đã tìm thấy lỗi này: https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/296230 Lưu ý rằng workaround là để khởi động Xvfb với -extension GLX – sharakan

+0

Tôi sẽ thử nó vào ngày mai . Cảm ơn. Bạn đã vô cùng hữu ích. –

Các vấn đề liên quan