Capturing text screens on modern operating systems

Frederic Cambus June 20, 2013 [Miscellaneous]

Ever since we shifted away from the MS-DOS era, I have always been missing the ability to take video memory dumps in order to capture text screens. If you remember the screen capture utility THEGRAB.EXE, bundled with TheDraw ansi editor, it did exactly that: the program stayed resident in memory and dumped the screen when a shortcut was triggered.

On UN*X operating systems, you can use the script command to record terminal sessions, but then you have to edit files manually if you want to get a particular state or screen... Enter SyncTERM, an SDL-based multi-platform BBS terminal program also supporting telnet, RLogin, and SSH connections. Like most of its MS-DOS era counterparts, it allows to capture sessions, and the key point here is that we can start and stop captures exactly as needed. While researching this topic, I also found a very promising alternative program called Qodem, which is a modern rewrite of the Qmodem serial communications package for MS-DOS.

Thanks to these programs, capturing a given screen becomes straightforward, and once it's done, we can simply convert the .ANS files to PNG using Ansilove or Ansigo, and obtain some beautiful screenshots looking exactly as they should.

Here are some captures I did in order to test the method:

VIM Welcome screen:


Midnight Commander file manager:

Midnight Commander

In a next article, I will present some captures of some gorgeous FreeBSD port configuration menus. Stay tuned!