is there an easy FOSS way to get a screenshot of a curses-based command line GUI when X isn't installed?
What if the powers-that-be say I can't remote login? (I'm working on it ha)
SSH to the server and run the curses-based command; it should translate properly to curses "graphics", depending on how your terminal client's emulation is configured. Screenshot using your desktop OS's utility.
At least, that's what I'd do.
You can also use the screen program, and pressing ctrl-a h will write the screen to a file 'hardcopy.n'.
scrot is a cli based screenshot tool which i've used before. Its a little quirky (it'll take a screenshot of the system i'm sshed in from) but might be ideal for your needs
In addition to what Joe mentioned you can also use a virtual machine to get screen shots of things that you can't do any other way such as the installer.
If getting the output of a session including all commands and output command as text would be better then have a look at the
script command. And in some situations something like
pastebinit may be appropriate.
Although I'm not sure how script deals with a curses based app.
If you're running on a virtual terminal (e.g. [Ctrl]-Alt-F1), you can, from another terminal, type:
sudo cat /dev/vcs1 > screenshot_file
sudo cat /dev/vcsa1 > screenshot_file
but the results probably won't be satisfactory.
I have done this on old serial terminals by takeing a photo of the termial screen. This is simple and works with no modifications to the terminal at all.
One solution might be a video loopback. In theory, you could use a Video4Linux device then capture its output with a v4l capture program.