Access X11 дисплей - PullRequest
       7

Access X11 дисплей

0 голосов
/ 10 января 2011

Я использую CIS, который автоматически запускает сборку и тестирование. Тесты работают нормально с Windows, но при запуске в rhel выдается переменная дисплея X11, не заданная.

Я убедился, что X11 установлен, и я могу вернуть xclock с помощью Xmanager. Намерение не состоит в том, чтобы передать дисплей клиенту, но я использовал Xmanager, чтобы проверить, установлен ли X11.

Когда дисплей не экспортируется, тесты, использующие графику, не выполняются, но когда я set export DISPLAY=0.0, он выдает java.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment

Этот источник говорит, что исключение cNF вводит в заблуждение.

Вот фрагмент этого содержания:

К сожалению, это сообщение об ошибке несколько вводит в заблуждение. Это сообщение на самом деле не отражает проблему загрузки класса. Эту ошибку можно избежать, задав переменную окружения DISPLAY в соответствующем файле конфигурации.

Это означает, что дисплей не экспортируется должным образом, но тест не показывает отсутствие дисплея X11. Чего мне не хватает?

Предложения приветствуются!

Ответы [ 3 ]

2 голосов
/ 10 января 2011

экспорт DISPLAY = 0,0

Это синтаксическая ошибка.Вы должны использовать: export DISPLAY=:0.0

(обратите внимание на двоеточие.)

Как только это будет правильно, вам нужно будет убедиться, что ваши тесты запускаются, так как у них есть разрешения для X-сервера.См. xauth или для небезопасного, но тривиального тестирования xhost +.

1 голос
/ 10 января 2011

У вас работает дисплей X?

Одним из распространенных способов получения дисплея для автоматизированных тестов является использование «поддельного» сервера отображения Xvfb. Запустите Xvfb, затем установите DISPLAY, указывая на него.

0 голосов
/ 10 января 2011

Из вашего описания я не уверен, хотите ли вы запускать тесты без X11.В этом случае вы можете использовать режим без головы , чтобы сообщить AWT, что вам не нужен графический вывод.Это должно позволить вашим тестам запускаться, если они не являются интерактивными.

Я не вижу, как вы можете запускать такие вещи, как xclock, но не Java.Есть ли промежуточный шаг?Вы ssh в хост, который должен запустить тесты?

...