Xtherm ist witzig. ☺ XTerm ist ein normaler Terminalemulator für Textaus- und eingaben. Sozusagen der ”Ur”-Terminal-Emulator im gegensatz zu den desktopumgebungsspezifischen Terminal-Emulatoren die man normalerweise bei einer grafischen Oberfläche verwendet.
Wenn Du bei dem ”Overkill” einen Anfall bekommst, warum nimmst Du bei FreeBASIC nicht einfach die Grafikbefehle die schon zum normalen Sprachumfang gehören? Also die die so ähnlich sind wie das was Du von AmigaBASIC kennst?
Falls Du GUIs verwenden willst, wirst Du andererseits um den ”Overkill” wohl nicht wirklich herum kommen, denn das ist eigentlich keiner. Das ist normal für GUI-Rahmenwerke. Zumindest für die beiden üblichen Gtk und Qt. Tk ist da vielleicht etwas weniger, das kann aber auch deutlich weniger um man merkt dem die Jahrzehnte IMHO doch an, sowohl was die Optik und den Widgetumfang, als auch die Handhabung angeht.
Beim C64 hat man das doch auch nicht mit PEEK und POKE gemacht, sondern mit einer BASIC-Erweiterung oder gleich in Assembler. Und GUI-Programmierung unter GEOS ist den heutigen GUI-Rahmenwerken gar nicht so unähnlich.
Auf ”Speicherregister” kann man in der Form bei einem PC mit einem ”normalen” modernen Betriebssystem nicht mehr so einfach zugreifen weil es nicht mehr *ein* Programm gibt, dem quasi der komplette Rechner gehört, sondern viele Programme gleichzeitig laufen und ja nicht alle auf den gleichen Registern herumwerkeln können ohne sich auf die Füsse zu treten. Zudem ist die Hardware in jedem Rechner anders, also gibt es auch nicht *die* Register die in jedem PC an gleicher Stelle sitzen und das gleiche bedeuten/machen. Ausserdem wäre es schlecht für die Sicherheit (sowohl „security“ als auch „safety“) wenn alle Programme zugriff auf alles hätten.
Also gibt es das Betriebssystem und einen X-Server der ganz grundlegende Grafikfunktionen zur Verfügung stellt, und eine Fensterverwaltung die für Darstellung und Position der Fenster zuständig ist, und die einzelnen Anwendungen verwenden dann GUI-Rahmenwerke um innerhalb des eigenen Fensters Inhalte einfach und in einer anwendungsübergeifend ähnlichen Art darzustellen.
Ein GUI-Rahmenwerk braucht man zudem für die Anordnung, denn einfach wie ”früher” alles an irgendwelchen absoluten Pixelpositionen zu platzieren, funktioniert heute nicht mehr bei dem ganzen Zoo von Grafikauflösungen, Displaygrössen, Ausrichtungen, und dazu dann auch noch individuellen Einstellungen der Nutzer was Schriftgrössen, Themes, und so weiter angeht.
Im CGI-Fall ist der Browser Dein Anzeigeprogramm, und der kann auch eine Menge und ist ziemlich komplex. Das HTML ist da in etwa das was die XML-Dateien bei Gtk und Glade sind — eine Beschreibung der GUI.
Die präzisierte Frage ist IMHO nicht einfach zu beantworten oder auch zu einfach — Du brauchst halt das selbstgeschriebene Programm, und all die Abhängigkeiten die es verwendet, auf den Systemen auf denen es laufen soll. Perl ist bei Ubuntu dabei und Du brauchst Dich nicht weiter um die Systemarchitektur kümmern weil dein Programm davon unabhängig ist. Wenn Du eine ”nativ” kompilierte Programmiersprache bzw. Implementierung selbiger verwenden willst, muss es für die Zielarchitekturen einen (Cross)Compiler geben. Was Du als Abhängigkeiten brauchst hängt ganz davon ab was Du womit programmierst.
Programme deportieren klingt irgendwie nach unschöner deutscher Geschichte. 😉
Mir ist irgendwie immer noch nicht klar was Du überhaupt erreichen willst mit Deiner ”Fensterausgabe”. Vielleicht möchtest Du auch eine Anbindung an die Simple Directmedia Layer-Bibliothek (SDL)‽ Das sollte es sowohl für Perl als auch für FreeBASIC geben.