Automating legacy Windows app on a headless Ubuntu server. Is Wine/Xvfb the right choice?

Posted by No_Addendum4340@reddit | sysadmin | View on Reddit | 49 comments

Hi, all. I'mI'm working on automating a legacy Windows desktop application (built on an old Gupta SQLWindows framework) on a headless Ubuntu server. I finally got it working after repeatedly fixing dependencies, which has me questioning if this is the right approach.

I want to know if headless GUI automation via Wine is a standard industry pattern for this scenario, or if there is a better approach I overlooked?

Some more context:

Because of our infrastructure bias, the pipeline must run on Linux servers. To do this headlessly, I built out:

Initially, I tried using modern Python libraries like pywinauto and pandas for handling extracted data manipulation but this created more errors.

For those who've had to host legacy, closed-source Windows desktop apps on Linux infra, is wine+xvfb+win32 hardware sim the standard procedure?

Are there any better approaches? Assuming a rewrite of the source app and commercial RPA's (not enough use cases) are off the table what else can I do? ie: docker on windows server nodes?
Is there an open-source toolchain better suited for headless Windows-on-Linux UI interaction than raw Win32 API calls via Python