Running UCTO2018 on Linux as a Server
TL;DR ✨
To modern developers and Linux-first people it looks prehistoric. But once you actually work with the GUI, you notice something uncomfortable: it is heavily optimized for focused keyboard-driven work. In that narrow sense, it is not stupid software at all. The sad part is that its development feels frozen in time, so integration options remain limited and modern platform support is awkward.
The author shows one possible way to run UCTO2018 from Tichý & syn on Linux and reach it remotely over SSH.
🧭 Introduction¶
UCTO is deeply rooted in quite a few companies.
To modern developers and Linux-first people it looks prehistoric. But once you actually work with the GUI, you notice something uncomfortable: it is heavily optimized for focused keyboard-driven work. In that narrow sense, it is not stupid software at all. The sad part is that its development feels frozen in time, so integration options remain limited and modern platform support is awkward.
The author shows one possible way to run UCTO2018 from Tichý & syn on Linux and reach it remotely over SSH.
It is best to do this on a dedicated Linux server with a stable IP address.
🧰 Linux Prerequisites¶
You will need:
- the installer from the vendor website: http://www.ucto2000.cz/default.htm
- the specific installer file mentioned in the original article: http://www.ucto2000.cz/DOWNLOAD/ucto2018_4.exe
- Wine
- a helper bundle from: http://ucto.spirit-system.com/
- SSH with X11 forwarding enabled
Install Wine on Ubuntu:
sudo apt-get install wine
The original article also referenced a prebuilt helper package from Spirit Systems: http://ucto.spirit-system.com/ucto/UCTO_Linux-2.1.2.tar.gz
🧪 1. Install UCTO2018 in Wine¶
Download UCTO2018_4.exe and run it under Wine.
At some point you should end up with a directory similar to:
/home/<yourUser>/.wine/drive_c/UCTO2018
Unpack the helper bundle into your home directory and copy the installed application into the UCTO_Linux directory:
cp /home/<yourUser>/.wine/drive_c/UCTO2018 /home/<yourUser>/UCTO_Linux
Then run the provided startup script:
./spustit.sh
If this part works, you have the basic local runtime in place.
🖥️ 2. Enable SSH with X11 Forwarding¶
To run the application remotely, install OpenSSH Server:
sudo apt-get install openssh-server openssh-client
Then adjust /etc/ssh/sshd_config.
My original recommendations were:
- Change the SSH port from
22to something custom, for example2544. - Make sure
PubkeyAuthentication yesis enabled. - Verify
PermitEmptyPasswords no. - If you are more security-conscious, later disable password auth after setting up keys.
- Most importantly, set
X11Forwarding yes.
You can tune the rest later once the core workflow works.
🔌 3. Connect to the Server¶
From your own machine, connect like this:
ssh -X <yourUser>@<serverIP> -p 2544
Then go to:
/home/<yourUser>/UCTO_Linux
and run:
./spustit.sh
That should open the application over X11 forwarding.
⚠️ What This Solution Really Is¶
The author acknowledges that this is not an elegant modern cloud deployment.
It is a workaround for legacy software that does not want to leave its historical habitat. Still, even a clumsy centralized setup can be better than a total free-for-all on multiple unmanaged PCs.
Possible benefits:
- one central place for the runtime
- less chaos than fully local installs
- a path to remote access without Windows terminal services
Limitations:
- fragile legacy stack
- Wine dependency
- X11 forwarding is not exactly the future
- printing may be problematic
The original experiment did not solve printing on Ubuntu. If somebody manages that reliably, it is still a practical missing piece.
🧭 Final Note¶
This setup is not standard, beautiful, or future-proof.
But sometimes engineering is not about beauty. Sometimes it is about getting an old business-critical thing into a state that is at least remotely maintainable.
And in that sense, this hack has value.