Unfortunately, .NET Framework and .NET do not support Windows Forms on macOS or Linux. Rebex TerminalControl
is a Windows Forms (WinForms) control, so the same limitations apply.
Unlike .NET Framework, its newer iterations (.NET and .NET Core) do support Linux and macOS, but this sadly does not apply to Windows Forms - those are only supported on Windows. From the project's repository:
Windows Forms (WinForms) is a UI framework for building Windows desktop applications. It is a .NET wrapper over Windows user interface libraries, such as User32 and GDI+.
We hope that the new MAUI API will eventually make it possible to implement a new multi-platform .NET terminal control, but this is not in our roadmap yet.
1) .NET and .NET Framework do not support WinForms applications on macOS and Linux. Currently, the only way to run WinForms applications on macOS and Linux is via Mono (see the side note below).
2) Currently, if you need a terminal emulation UI control on all of these platforms, the only option with Rebex Total Pack is to implement custom rendering via IScreen API for two non-Windows platforms. Unfortunately, that would imply additional work.
If you feel that this makes Rebex Total Pack unsuitable for your scenario, consider contacting us for a refund.
Side note on Mono: TerminalControl
class actually used to work on Mono, an open-source multi-platform implementation of CLR compatible with .NET Framework that supports Linux and macOS as well.
However, user experience was negatively affected by the heavily unfinished state of Mono’s Windows Forms API. For example, check out the Linux/X11 version of Graphics.CopyFromScreen metod, which we have been using for scrolling the TerminalControl
content. Instead of hardware-accelerated “bit blit” operation one would expect there, it simply creates a temporary Bitmap
(!), copies data pixel-by-pixel (!) to it by calling Bitmap.SetPixel
(!) method, draws the Bitmap
, and disposes it. Which is horribly slow.
Due to persisting troubles and lack of interest (unsurprising due to the unfortunate state of Windows Forms in Mono on Linux), we dropped Mono support in TerminalControl
several years ago and currently have no plans to reintroduce it.