I have an old laptop set up with mint (what I had a usb laying around for) and running foundryvtt with docker. That's all set up and working great, starts services on reboot, runs headless.
What I would like to do, mainly because I think it would look cool, is have a small CRT screen that I have plugged into the laptop via HDMI to display the performance status with htop, or docker output or something. I can do this with starting a terminal session with the other display plugged in, but this requires user interaction and all of that.
This side of linux is kind of new to me, so I am not sure what direction I need to start looking in. Is it possible to set up a service to run headless and output to a display in a way that automatically comes up if the device is rebooted? Or is it possible to modify my existing docker container to output logs to display?
Appreciate any input to help get me pointed in the right direction.
EDIT: Solved!
Thanks to everyone for pointing me towards getty, grub boot settings, and bash profiles - got a setup that I'm happy with.
I was able to disable the laptop monitor and enable the CRT by adding this to /etc/default/grub
# Disable laptop monitor (LVDS-1) and only output to CRT (HDMI-A-1)
GRUB_CMDLINE_LINUX_DEFAULT="video=LVDS-1:d video=HDMI-A-1:1024x768"
(don't forget sudo update-grub to apply)
I initially set it to 640x480, but display was better with higher res and large font size, which I scales up with sudo dpkg-reconfigure console-setup
I created a service account for this, and set up a systemd service to start getty on that account based on those docs
[Service]
Type=idle
ExecStart=
ExecStart=-/sbin/agetty --skip-login --noreset --noclear --autologin axies - ${TERM}
Then I added htop to the ~/.bash_profile for that user and... done!
Only thing is there is some overscan on the display and initially about 3 rows / cols were cut off on each side. I was able to adjust the CRT display itself to mostly mitigate this, so now only a bit is cut off and it's usable, but it's not perfect. I tried setting the margin in the video options in grub with margin_top, margin_left etc., as per these docs but that didn't work, even though I verified the resolution was applying correctly. But it is functional!

It's going to be a total re-install, so that depends on what kind of setups you have. Not really different than switching to/from another distro.
Bazzite ships with KDE, so you could likely copy your themes and customizations for that pretty easily.
Bazzite is fedora based, and doesn't use apt, but you can use distrobox like I mentioned in my post to get familiar ubuntu packages, if there are things that you need to be not flatpaks. You also can probably copy config files from non-flatpak apps into the flatpaks for most apps. I did this with my Cura configs. It may depend on the application.
Basically, I just backed up my user folder (~/) and pulled any configs out of there. You could just back up ~/.config and ~/.local but with ubuntu there are likely some things in a snap directory and such. Mainly ~/.config and ~/.local, but some applications may use other directories, like snap, etc.