Как включить Xorg для пользователя на сервере?

У меня есть сценарий Shell на сервере. Скрипт запускается конкретным пользователем, а не пользователем root.

Скрипт имеет следующее:

export DISPLAY=:8
Xorg $DISPLAY

Но есть ошибка:

Неустранимая ошибка сервера: ошибка аутентификации PAM, не удается запустить X-сервер. Возможно, у вас нет консольного владения?

Кто-нибудь может подсказать мне, как это исправить? Я был в Google, но есть много разных ответов, поэтому мне нужно немного руководства.

Спасибо за ваше время.

Изменить: Я нашел это ( введите описание ссылки здесь), которое предлагает изменить файл /etc/pam.d/xserver, но я не знаю, правильно ли это делать?

1 ответ

WebDriver на самом деле не должен запускаться на сервере - он должен запускаться на рабочей станции, используемой для проведения тестов.

Если вы действительно хотите запустить набор тестов WebDriver на сервере, то, как указал SvenW, вы делаете это неправильно™ - вы не можете просто запустить X-сервер на любом компьютере, который вам нравится, особенно если вы не подключены консоль (это Perhaps you do not have console ownership? часть сообщения об ошибке).

Самым простым решением в вашем случае является запуск X-сервера на компьютере, с которого вы используете SSH, и использование ssh -X перенаправлять запросы X-клиентов (например, Firefox) с сервера обратно на вашу рабочую станцию.

Удалить export DISPLAY=:8 а также Xorg $DISPLAY строки из сценария, когда вы делаете это.
ssh -X автоматически установит DISPLAY переменная окружения для вас.


Обратите внимание, что есть и другие возможные решения ("фиктивные" X-серверы, которые нигде не отображаются), но это становится намного сложнее, чем нужно в данный момент.

Другие вопросы по тегам