vtprint(1) print files from UNIX host to printer attached to local terminal


vtprint [ -bBcCdDeEfFhlnNqQtvw ] [ -L vtprintcap ] [ -T termtype ] [ -V device ] [ filename... ]


vtprint is a simple filter that prints ASCII text to a printer connected to a terminal or terminal emulator. It uses terminal escape sequences to print, and can substitute for lpr(1) in circumstances where the printer is not connected directly to the host or available via TCP/IP.


Causes vtprint to open the output stream in binary modes, overriding any automatic postprocessing done by the host (e.g. CR/LF translations). This has no effect if the output stream is not a tty device.
Undoes the effect of the -b option. Note that this does not open the output stream in text mode if it would not normally be opened in that mode.
Causes vtprint to append any linefeeds (ASCII 0xA) with carriage returns (ASCII 0xD). This is useful for printing data from a UNIX or similar host to an MS-DOS system's printer that expects CR/LF line termination.
Causes vtprint to pass all carriage returns and linefeeds unmodified.
Use the tty device file instead of stdout for output. This is defined as /dev/tty on this system. (This is operating system specific and may vary from system to system.) This is useful for using vtprint as a pipe called by programs that suppress or redirect the stdout stream of the pipe or printing process.
Use the stdout stream for output, rather than a tty device file.
Forces vtprint to ignore the TERM environment variable and use the builtin control codes instead.
Undoes the effect of the -e option, which allows vtprint to attempt to find an entry in /etc/vtprintcap for the TERM value and use the corresponding control codes.
Requests vtprint to suppress inclusion of formfeeds (ASCII 0xC) between multiple files. Note that this has no affect on any formfeeds that may be present in the input files already.
Requests vtprint to include formfeeds between multiple files specified on the command-line and at the end of the last file printed.
Print out a simple usage message.
Print out the vtprint license agreement.
-L vtprintcap
Specifies an alternate file to use instead of /etc/vtprintcap.
Causes vtprint to strip the CR from any CR/LF sequences. This will not affect handling of any CRs present elsewhere in the file.
Causes vtprint to pass all carriage returns and linefeeds unmodified.
Quiet mode. Suppress various status messages from being displayed, useful in situations where vtprint is used as part of a shell script, for example.
Cancels the effect of the -q option, allowing normal progress reporting to occur.
Force the use of the TERM variable to perform a look up of the control sequences to be used in /etc/vtprintcap. If an entry in that file can't be found, vtprint will abort with an error.
-T termtype
Use the value of termtype instead of the value of the TERM environment variable when performing lookups in /etc/vtprintcap.
Display version information.
-V device
Specifies an alternate device file instead of /dev/tty to use.
Display important warranty waiver information. NO WARRANTY!
This option changes no special operational parameters of vtprint. But it does indicate to the program that all of the command-line arguments which follow are to be parsed as filenames, even if they begin with a dash. Hence to process a single file with the name "file" you would call vtprint as " vtprint -- -file".


the type of the terminal vtprint will assume is being used.
string of options to be used by vtprint.


vtprint was written by Garrett D'Amore, on December 27, 1993 and last modified on October 25, 1994. It is heavily derived from a similar program, called lprint, by the same author. He can be reached via Internet e-mail at [email protected]


The latest version of vtprint can be obtained by anonymous ftp at ftp.sdsu.edu in the /pub/vtprint directory. Please read the INDEX and README files before downloading.

If you do not have ftp availability, then you can request a uuencoded copy of vtprint be sent to you via e-mail from the author. The author is also willing to make other arrangements as needed, within certain limitations.


A mailing list for the discussion of topics related to and about vtprint exists. To subscribe to this mailing list, send a message to "[email protected]" with the word "subscribe" as the body. An automated list server will reply with information about the mailing list.


vtprint is copyrighted 1994, by Garrett D'Amore. It may be freely redistributed or modified, so long as this and any other copyright notices are included in their original form with the program. The user is granted the right to use this program without limitation.


vtprint is provided WITHOUT WARRANTY. The user agrees to indemnify the author from any claims of damage or loss arising from the use of or inability to use this program. In other words, USE AT YOUR OWN RISK!


vtprint cannot be used to print files containing non-printable characters, as these may cause conflicts with the terminal or emulator used.

When used over a serial (modem) connection, vtprint may not work properly unless hardware (CTS/RTS) flow control is used. This is due to the fact that most printers are slower than serial connections in common use.

vtprint uses terminal escape sequences to print, and not all terminal emulators support these sequences, and of those that do, some support it differently. You can find a listing of some of the programs known to work and not to work with vtprint in the file COMPAT. The best thing to do is try your particular emulator, and find out if it works. The author would appreciate any reports of success or failure, or strange behavior. You can send those to him via Internet e-mail. (See the AUTHOR chapter for how to reach him.)

The /etc/vtprintcap file is still largely incomplete. The author would very much appreciate it if individuals with more information different terminals would get in contact with him so that support can be added for these terminals in the master archive.

Do not background this program, as it has no way of knowing when it is in the background and when it is in the foreground. This will result in your foreground process' output being printed as well as the output from vtprint.




Fix any bugs present, clean-up the documentation, continue to build upon entries in the COMPAT and /etc/vtprintcap files, and finally, finish getting a college education!


vtprint doesn't handle some signals properly, especially the SIGKILL and SIGSTOP signals, which can't be caught anyway. Also it doesn't check to see if you have backgrounded the process. The resulting condition may leave all output directed to the printer instead of the screen. The fix for this condition is to run the provided vtprtoff program with no arguments, which will restore normal screen output. (You probably won't be able to see what you're typing while you start vtprtoff from the shell.)