Запустите tkinter внутри Docker-контейнера и экспортируйте холст как img - PullRequest
0 голосов
/ 07 февраля 2019

Я хочу запустить скрипт Python, который генерирует изображение только из холста tkinter.У меня ошибка:

_tkinter.TclError: couldn't connect to display ":0"

Я обнаружил некоторые схожие проблемы здесь , поэтому моя попытка:

выполняется test.py

import tkinter
import random

canvas = tkinter.Canvas()  # <-- error occurs here
canvas.pack()

x = random.randrange(380)
y = random.randrange(260)
canvas.create_text(x, y, text='PYTHON')
canvas.postscript(file="my_drawing.ps", colormode='color')

внутри докера

docker run --rm 
-e DISPLAY=$DISPLAY 
-v /tmp/.X11-unix:/tmp/.X11-unix 
-v $PWD:/app 
python:3.5.2-alpine python /app/test.py

Однако у меня на компьютере есть xvfb, и он также находится внутри контейнера после добавления докера, поэтому я не совсем понимаю, как запустить tkinter, не касаясь env $ DISPLAY

Кто-нибудь сталкивался с подобной проблемой?

Спасибо

1 Ответ

0 голосов
/ 07 февраля 2019

Вам нужен дисплейный сервер для tkinter, поэтому я не думаю, что есть какой-либо другой способ, кроме установки сервера ax на самом контейнере (я не уверен, если это возможно)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...