Xvfb: 새 세션에서 특정 프로그램을 실행하는 데 약간의 지연이 필요합니까?

Xvfb: 새 세션에서 특정 프로그램을 실행하는 데 약간의 지연이 필요합니까?

script.sh다음과 같이 새로운 Xvfb 세션을 시작했습니다 .

Xvfb :10 -screen 0 1000x200x24 & export DISPLAY=":10" && script.sh

저는 script.shC++ 프로그램과 Java 프로그램을 실행하고 있습니다. 그러나 때로는 한두 가지 오류가 발생합니다. C++ 프로그램에서는 오류가 발생하고 Segmentation faultJava 프로그램에서는 다음과 같은 오류가 발생합니다 awt can't get display:10. script.sh줄 시작 부분에 추가하면 오류가 사라집니다.

sleep 2;

그 이후에는 오류가 발생하지 않습니다. 그것을 설명하는 방법?

답변1

이 질문은 다음과 유사합니다.-ing Xephyr없이 시작 하는 방법sleep. 귀하의 응용 프로그램은 준비되기 전에 Xvfb에 액세스하려고 시도합니다. 이 문제를 해결하는 가장 쉬운 방법은 xinit를 사용하는 것입니다. RunXvfb

xinit script.sh -- /usr/bin/Xvfb :10

( export DISPLAY=:10script.sh에 포함됨)

관련 정보