LINUX.ORG.RU

запустить приложение в Wine из Docker

 , ,


0

3

Подскажите кто знает есть ли смысл стараться.

Есть:

Ubuntu 20.04 установлено XFCE4 и Xrdp. Работаю через RDP.

Нужно:

Запускать 32 битную Windows программу (на русском) которая работает с COM1 портом (это весы Масса-К). Но запускать через контейнер Docker! Программа прекрасно запускается если Wine поставить на Ubuntu и все работает. Но ставить Wine я не хочу, т.к. при установке он тянет за собой почтb 1,5 гб всякой фигни. Вот и возникла идея поставить Docker и в нем запускать эту программу.

Но не получается сделать все красиво. что получилось:

  1. Установил контейнер отсюда https://github.com/scottyhardy/docker-wine
  2. Моя программа запускается только с самого сервера, а по RDP пишет
0010:err:ole:marshal_object couldn't get IPSFactory buffer for interface {6d5140c1-7436-11ce-8034-00aa006009fa}
0010:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
0010:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 80004002
0010:err:ole:get_local_server_stream Failed: 80004002
0012:err:winediag:nodrv_CreateWindow Application tried to create a window, but no driver could be loaded.
0012:err:winediag:nodrv_CreateWindow Make sure that your X server is running and that $DISPLAY is set correctly.
  1. Даже при запуске на сервере нет русского языка, а только крокозяблы
  2. Не знаю можно ли пробросить COM порт, локально то просто ссылку делаешь, а в контейнере можно такое провернуть?

Во общем вопрос. Можно ли сделать подобную «связку» RDP+COMпорт-Docker-Wine-Приложение win32?

Ответ на: комментарий от cocucka

Спасибо, запустить под RDP получилось.

./docker-wine --env="DISPLAY=:10" wine /home/wineuser/MASSA-K.exe

Теперь вопрос как быть с русским и пробросом COM порта. Можете и здесь подсказать?

zhukovia ()
Последнее исправление: zhukovia (всего исправлений: 1)
Ответ на: комментарий от cocucka

Еще раз большое спасибо, что то действительно пробросилось. Протестировать на работу пока к сожалению не могу но это уже большое дело.

Русский язык буду дальше ковырять. Может есть хотя бы идея куда копать?

zhukovia ()

Все получилось Запускал командой ./docker-wine --device=/dev/ttyS0:/dev/ttyS0 --env="DISPLAY=:10" --env="LC_ALL=ru_RU.CP1251" wine /home/wineuser/MASSA-K.exe Но перед этим установил в контейнере шрифты командой ./docker-wine winetricks allfonts но там много лишнего понаустанавливалось, позже разберусь что нужно. Возможно будет достаточно ./docker-wine winetricks corefonts

Всем спасибо за помощь.

zhukovia ()