Как включить 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-серверы, которые нигде не отображаются), но это становится намного сложнее, чем нужно в данный момент.