можно ли запустить pyautogui на док-станции Centos 7 - PullRequest
0 голосов
/ 09 января 2019

У меня есть задача автоматизации, которая использует pyautogui и python3, чтобы открыть PDF-файл и заполнить его предопределенными полями из JIRA (PDF-файл заблокирован, и нет никакого способа программно взаимодействовать с ним, кроме pyautogui. ) Сценарий привязывается к левому верхнему углу экрана, где открывается PDF-файл, щелкает в PDF-файле, а затем происходит автоматическое нажатие клавиш.

Все это прекрасно работает на настольном компьютере, но теперь пришло время разместить его на сервере, где он будет работать, и лучший вариант для развертывания выглядит как Docker. Возможно ли то, что я предлагаю, или есть другой метод, который будет работать как Docker-машина или VM? Это моё первое развертывание, и оно достаточно маленькое, чтобы по-настоящему возиться со всеми возможными вариантами и провести хорошее обучение.

Ответы [ 2 ]

0 голосов
/ 25 марта 2019

Разобрался! Создан контейнер, который использует xvfb и имитирует сеанс x11. Просто нужно установить переменную DISPLAY и создать сеанс.

0 голосов
/ 09 января 2019

Docker, как правило, не очень подходит для приложений с графическим интерфейсом. В принципе, то, что вы описываете, возможно, но если вы ожидаете установки, подобной виртуальной машине, которая может запустить X-сервер, и процесс, который вы пытаетесь автоматизировать, и программу автоматизации, реальная виртуальная машина будет работать намного лучше для этого. чем будет Докер.

Это вдвойне верно, если у вас уже есть установка, которая может развернуть вашу систему на чистой настольной установке Ubuntu, или что-то в этом роде; вы должны иметь возможность развернуть это почти как есть на ВМ (возможно, с помощью инструмента, подобного Packer , для автоматизации создания образа виртуальной машины), но будет много «изобретать колесо» и обходить Различные ограничения Docker, если вы попытаетесь сделать это в Docker. Даже получение контейнера, который может выполнить три шага «запуска X-сервера» и т. Д., Оказывается сложным уровнем, не являющимся моим первым Docker-проектом.

...