fbcat icon indicating copy to clipboard operation
fbcat copied to clipboard

framebuffer grabber

Overview

fbcat takes a screenshot using the Linux framebuffer device. Two executables are provided:

  • Low-level fbcat that operates on the current virtual terminal and writes the screenshot to stdout in the PPM_ format:

    .. code:: console

    $ fbcat > screenshot.ppm $ file screenshot.ppm screenshot.ppm: Netpbm image data, size = 1280 x 1024, rawbits, pixmap

.. _PPM: https://netpbm.sourceforge.net/doc/ppm.html

  • High-level fbgrab that supports the PNG format and virtual terminal switching:

    .. code:: console

    $ fbgrab '-?' Usage: fbgrab [option...] <filename.png|->

    Options: -c <N> grab from /dev/ttyN -C <N> grab from /dev/ttyN, for slower devices -d use framebuffer device -i turn on PNG interlacing -s <N> sleep <N> seconds before making screenshot -? show this help message and exit

    If the specified destination is "-", the PNG output is piped to stdout.

See the manual pages for details.

The following visuals are supported:

  • TRUECOLOR
  • DIRECTCOLOR
  • PSEUDOCOLOR
  • STATIC_PSEUDOCOLOR
  • MONO01
  • MONO10

Prerequisites

The following software is needed to build fbcat:

  • C compiler
  • Linux kernel userspace headers
  • GNU make

Additionally, the following software is needed to rebuild the manual pages from source:

  • xsltproc (part of libxslt_)
  • DocBook XSL stylesheets_

fbgrab requires the following software:

  • chvt (part of KBD_)
  • pnmtopng (part of Netpbm_) or GraphicsMagick_ or ImageMagick_

.. _libxslt: http://xmlsoft.org/xslt/ .. _DocBook XSL stylesheets: https://github.com/docbook/xslt10-stylesheets .. _KBD: https://kbd-project.org/ .. _Netpbm: https://netpbm.sourceforge.net/ .. _GraphicsMagick: http://www.graphicsmagick.org/ .. _ImageMagick: https://imagemagick.org/

Installation

To install system-wide::

$ make $ sudo make install

The default installation prefix is /usr/local. You can specify different one using the PREFIX variable, e.g.::

$ make install PREFIX="$HOME/.local"

.. vim:ft=rst ts=3 sts=3 sw=3 et