У меня есть простое Java-приложение, использующее оболочку службы Tanuki, которая загружает chromedriver для меня. Все работает, когда я выполняю действия, используя ./myapp console
в качестве пользователя, которому принадлежит приложение и сервер VNC.
Однако после установки RUN_AS_USER
в настройке Tanuki и установки переменной DISPLAY
в /etc/environment
и всех профилей в Ubuntu 16.04 мое приложение Java не может получить доступ к дисплею.
Я установил VNC на Ubuntu 16.04, используя эти инструкции.
Я могу запускать xeyes, xterm и т. д. как любой пользователь после запуска xhost +
, и я гарантирую, что команда запускается при запуске vncserver.
Что происходит, так это то, что я застреваю в следующем сообщении журнала, прежде чем я, наконец, достиг тайм-аута:
JVM 1 | Запуск ChromeDriver 2.25.426924 (649f9b868f6783ec9de71c123212b908bf3b232e) на порту 32655
JVM 1 | Разрешены только локальные подключения.
Я также попытался отредактировать файл /etc/chromium-browser/default
, чтобы включить спецификацию --display :1 в параметр CHROMIUM_FLAGS
, как было предложено в других сообщениях, но безуспешно.
Другой вариант, который я видел, был предложен в коде Java для добавления, но это не сработало:
webDriver.setEnvironmentProperty("DISPLAY", ":1");
Какие-либо предложения?