36
submitted 3 weeks ago* (last edited 3 weeks ago) by AldinTheMage@ttrpg.network to c/linux@programming.dev

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}![](https://ttrpg.network/pictrs/image/cf0ab3f3-9674-4578-a230-c8f3df7a7bdc.webp)

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!

you are viewing a single comment's thread
view the rest of the comments
[-] pryre@lemmy.world 9 points 3 weeks ago

The people here talking about a display server (x11/Wayland) are missing your point I think. If you put a display server on this "box" then it will become a normal server, not a headless one. At that point, you may as well run a full VM and have the output go wherever you want, etc. I'm not sure what the equivalent is in the docker world, but I'm pretty sure that's not what you're asking for.

Is it possible for you to get SSH running on this "server"? If so, you may be able to set it up with an SSH client on the host PC (the laptop?) that is full screen on the CRT/HDMI output?

Maybe I'm misunderstanding as well though. Any headless server I've used in Linux will still give you a TTY on the display. Do you not get that? Someone else mentioned Getty, which is likely the service that is managing that. You should be able to configure Getty to give you a specific tty (e.g. tty9) on a specific output, then configure it either to autologin or to run a script on that tty.

[-] AldinTheMage@ttrpg.network 3 points 3 weeks ago

I do get a tty and that works fine if I start it manually. I can also ssh into it while on my local network.

I think what I need to configure is to have it automatically start a tty at boot with specific credentials and auto start whatever monitoring I want. That should work I think. The only downside of that is I don't want it to run on the laptop screen at all, only the hdmi output, so that is where I want to learn more about how all of those display interfaces work on linux so I can configure the service accordingly (I think)

[-] pryre@lemmy.world 5 points 3 weeks ago

Yeah ok, that makes more sense. Some starting points (arch user by practice, but Mint will have similar interfaces):

  • use DPMS to turn screens on and off dynamically. This would be to put a monitor to sleep.
  • I would think there is a kernel parameter to either disable a display output or the driver used by the laptop display.
  • I believe "agetty" is the program that gives you a terminal on a display. Thile general term for what you are interacting with is a getty. You can see an example of setting up a generic automatic login in section 2.3.1 of that link.
  • The easy way out to run a command on start is to run bash, then have the command in the bottom of your .bashrc file.
  • the slightly better way to do this is to create a new user that will be just for this purpose (like a service account).
  • the better way would be to run the command straight through the terminal, instead of starting a shell in interactive mode. This would be replacing ${TERM} with something like /bin/sh -c '/bin/htop'.
  • I'm not sure how you could get a specific tty on a specific monitor, but I would expect there is a way to do it through the kernel parameters. This probably isn't needed as you don't plan on having another screen anyway. You could just use tty1 and be done with it.
  • the other thing you may want to do is to set "quiet" mode in the kernel parameters, as the system may print status messages onto the tty be default.
[-] AldinTheMage@ttrpg.network 4 points 3 weeks ago

This is great info, thanks! I did some messing around yesterday and got it opening a tty on boot, and disabled the startx so it stays there. I will look into the monitor power stuff too. Thanks!

load more comments (8 replies)
load more comments (8 replies)
load more comments (8 replies)
this post was submitted on 30 Dec 2025
36 points (97.4% liked)

Linux

11315 readers
353 users here now

A community for everything relating to the GNU/Linux operating system (except the memes!)

Also, check out:

Original icon base courtesy of lewing@isc.tamu.edu and The GIMP

founded 2 years ago
MODERATORS