@joerg
I’ll explain what I use (QEMU) and what the limitations of the AUX/TCP newshell are. Not everyone will need this, and everyone has their own preferences.
Serialshell is part of the qemu-runner package.
"Automated QEMU lifecycle + cross-compile + deploy + run + capture for AmigaOS 4 development on Windows.
Build your AmigaOS 4 program, upload it to the guest, run it, and capture the output — all in one command."
I don’t have a compilation environment yet, and from the qemu-runner package I only use serialshell.
I have QEMU running with “serial stdio” and “-append ‘os4_commandline serial munge debuglevel=7’”, which ensures that all information goes to the serial port and stays there.
I don’t need anything else there. In this case, I can already type “newshell AUX:”
Serialshell can send individual shell commands to the system and run a program if necessary. It can send commands like upload, download, etc. The main command for using it is “serial_client”
You can also open it in “interactive” mode, which is similar to “newshell TCP:host/port”
Because of its additional features, Serialshell is more useful for me.
Here’s an example of how I’ve been using it lately: I’m testing virtio-net.device.
I run QEMU with debug options and serial output. Additionally, I don’t run QEMU with the “-display” option, but with “-vnc”.
The screen doesn’t open for me; everything goes through VNC (this might minimally affect interactive functions—don’t move the mouse or keyboard…). For this test, I don’t need a graphical interface at all.
In the Linux/KDE console (konsole), I have three separate consoles: one for serial output from QEMU, one for sending commands via serial_client, and a third free one.
I send the “upload” command with a large file and wait for an error to appear in the QEMU/AOS4 debug window. When the driver reports that it has crashed, I can still log in via the “interactive” Serialshell, change something (for example) using RoadshowControl, modify the QEMU configuration (options for the virtio-net.device driver), etc.
Quickly restart the QEMU instance (you can also do this via qmp_client)—start it up and repeat the process. Except… it happens quickly! These tasks are performed faster than clicking around the window.
When I log in to QEMU via a VNC client and have the screen open, I’m sure it would be possible to automate something as well

Currently, under ideal conditions, I can sometimes use virtio-net.device to transfer a 700 MB CD image to AOS4 seven times without the driver crashing. But this isn’t consistent, and I’m trying to figure out what’s causing this inconsistency.
It might be a silly test, but sometimes silly ideas are the best ;-D
This is just a quick, incomplete overview of how to use serialshell, but I hope it shows what it can be used for.
Here is the link to qemu-runner ->
https://github.com/derfsss/qemu-runner