PostScript on Linux: How to View, Convert, and Print .ps Files
If you administer Linux systems long enough, you will eventually encounter a file ending in `.ps`. It might be a legacy report, a print job spooled by an old application, or output from a typesetting tool. PostScript can feel like a relic, but it remains deeply woven into how Linux handles documents and printing. The good news: Linux has excellent, battle-tested tooling for working with PostScript, and most of it traces back to a single engine.
This guide explains what PostScript is, how Linux interprets it, and the exact commands you need to view, convert, manipulate, and print `.ps` files.
Key Takeaways
• PostScript is Adobe’s page-description language and the direct ancestor of PDF.
• Ghostscript (`gs`) is the core interpreter that powers nearly all PostScript and PDF handling on Linux.
• View `.ps` files with evince, gv, or okular; convert with ps2pdf and pdf2ps.
• Linux printing through CUPS relies on Ghostscript to rasterize PostScript for your printer.
• Install everything you need with one package: `apt install ghostscript`.
What Is PostScript and How Does It Relate to PDF?
PostScript is a page-description language created by Adobe in the 1980s. Rather than storing a document as a grid of pixels, a PostScript file describes a page programmatically: where to place text, how to draw vector shapes, which fonts to use, and how to render graphics. In fact, PostScript is a full stack-based programming language, which is why a `.ps` file can be surprisingly small yet describe complex layouts.
PDF (Portable Document Format) is the direct descendant of PostScript. Adobe designed PDF as a more constrained, predictable, page-independent format derived from the same imaging model. This shared ancestry is exactly why converting between `.ps` and `.pdf` is so clean on Linux: the underlying drawing instructions map closely between the two formats.
You will most often meet PostScript today in:
- Legacy documents archived in `.ps` before PDF became dominant.
- Print pipelines, where applications generate PostScript as an intermediate format.
- Academic and typesetting workflows, especially older LaTeX setups that emit `.dvi` and `.ps`.
How Does Linux Handle PostScript Files?
The heart of PostScript support on Linux is Ghostscript, an open-source interpreter for both PostScript and PDF. When you view a `.ps` file in a GUI viewer, convert it to PDF, or send it to a printer, Ghostscript is almost always doing the actual rendering behind the scenes.
To install Ghostscript and the common companion tools on a Debian or Ubuntu system:
“`bash sudo apt update sudo apt install ghostscript psutils “`
On RHEL, Fedora, or related distributions:
“`bash sudo dnf install ghostscript psutils “`
Once installed, you can confirm the version:
“`bash gs –version “`
Here is the single most useful thing to understand about PostScript on Linux: Ghostscript is the engine behind almost everything. The friendly commands you will use — `ps2pdf`, `pdf2ps`, even your desktop document viewer and your printer’s CUPS filter — are mostly thin wrappers or callers around `gs`. This is why the practical advice for “how do I deal with PostScript on Linux” is nearly always the same: install Ghostscript, and the rest just works. You rarely need to learn raw `gs` syntax; you simply need the engine present so the convenient tools have something to call.
What Tools Are Available for PostScript on Linux?
Linux gives you a focused toolkit for every common PostScript task. The table below summarizes the essentials.
| Tool | Type | Primary Use | Typical Command |
|---|---|---|---|
| Ghostscript (`gs`) | Interpreter | Core PostScript/PDF rendering engine | `gs file.ps` |
| ps2pdf | Converter | Convert PostScript to PDF | `ps2pdf file.ps` |
| pdf2ps | Converter | Convert PDF to PostScript | `pdf2ps file.pdf` |
| evince | Viewer (GNOME) | View `.ps` and `.pdf` files | `evince file.ps` |
| gv | Viewer | Lightweight PostScript viewer | `gv file.ps` |
| okular | Viewer (KDE) | View documents incl. PostScript | `okular file.ps` |
| psnup | Manipulator | Place multiple pages per sheet | `psnup -4 in.ps out.ps` |
| psselect | Manipulator | Extract or reorder pages | `psselect -p1-3 in.ps out.ps` |
| CUPS | Print system | Spools and prints documents | `lp file.ps` |
Viewing PostScript Files
For a quick look at a `.ps` file on a desktop system, evince (the GNOME document viewer) is the most common choice and handles both PostScript and PDF transparently:
“`bash evince report.ps “`
If you are on KDE, okular offers the same convenience. For a lighter, classic option, gv (GNU Ghostview) is a thin GUI front-end over Ghostscript itself.
How Do You Convert PostScript to PDF (and Back)?
This is the task most people search for. Converting PostScript to PDF uses `ps2pdf`:
“`bash ps2pdf document.ps document.pdf “`
If you omit the output name, `ps2pdf` writes to `document.pdf` automatically. You can request a quality preset for screen, print, or prepress:
“`bash ps2pdf -dPDFSETTINGS=/prepress document.ps document.pdf “`
To go the other direction, PDF to PostScript, use `pdf2ps`:
“`bash pdf2ps document.pdf document.ps “`
Both commands are wrappers around `gs`. If you ever need finer control, you can call Ghostscript directly. For example, to convert PostScript to PDF explicitly:
“`bash gs -sDEVICE=pdfwrite -o output.pdf input.ps “`
How Do You Manipulate PostScript Pages?
The psutils package provides small but powerful utilities for reshaping PostScript documents without a GUI. These are ideal for scripting and batch jobs.
To print multiple logical pages onto a single sheet (handy for saving paper), use psnup:
“`bash psnup -4 input.ps output.ps “`
To extract or reorder specific pages, use psselect:
“`bash psselect -p1,3,5-7 input.ps output.ps “`
These tools operate directly on PostScript structure, which makes them fast and dependency-light for server-side document processing.
How Does Printing Work with PostScript on Linux?
Linux printing is managed by CUPS (Common Unix Printing System). When you submit a job — for example with `lp` or `lpr` — CUPS runs the document through a filter chain. For most printers, that chain uses Ghostscript to convert PostScript (or PDF) into the raster or page-description language your specific printer understands.
To print a PostScript file from the command line:
“`bash lp document.ps “`
Or with the BSD-style command:
“`bash lpr document.ps “`
Because CUPS leans on Ghostscript, the same engine that converts your files also drives your printing. This is another reason a healthy Ghostscript installation is so central to Linux document handling.
Where Is PostScript Still Used in Real Workflows?
While end users rarely create `.ps` files anymore, PostScript remains relevant on servers and in automation:
- Document conversion pipelines that normalize incoming files to PDF for storage or display.
- Print servers that accept PostScript jobs from networked applications.
- Report generation where an application emits PostScript that is converted and archived.
- Batch processing of legacy archives into searchable, modern formats.
These are precisely the scenarios where having root access to install and tune Ghostscript matters.
For teams building server-side document processing — converting PostScript and PDF inside an automated pipeline, running a print server, or normalizing legacy archives — you need an environment where you control the software stack. A DarazHost VPS with full root access lets you install Ghostscript, psutils, and CUPS exactly as your workflow requires, then build reliable document-conversion jobs on top of them. With dependable performance for your applications and 24/7 support, DarazHost gives you a stable foundation for the kind of behind-the-scenes processing that PostScript workflows depend on.
Frequently Asked Questions
Q: What program opens a .ps file on Linux? A: Most desktop Linux systems open `.ps` files with evince (GNOME) or okular (KDE) by default. Both rely on Ghostscript to render the file. For a lightweight option, install and use gv.
Q: How do I convert a .ps file to PDF on Linux? A: Run `ps2pdf document.ps document.pdf`. The `ps2pdf` command is part of the Ghostscript package, so installing Ghostscript gives you conversion automatically.
Q: Do I need Adobe software to use PostScript on Linux? A: No. Ghostscript is a free, open-source interpreter that handles PostScript and PDF without any Adobe software. It covers viewing, conversion, and printing on Linux.
Q: Why does my Linux print job go through Ghostscript? A: CUPS uses Ghostscript as a filter to translate PostScript or PDF into the format your printer understands. This rasterization step is what lets a wide range of printers handle the same input file.
Q: Is PostScript still worth learning in 2026? A: As a format to author by hand, rarely. But understanding PostScript and Ghostscript is valuable for legacy document handling, print server administration, and automated document conversion — common needs in server environments.