sane-pnm(5)
π sane-pnm β the SANE PNM image reader pseudo-backend π
okay bestie, welcome to sane-pnm(5), part of the SANE Scanner Access Now Easy lineup β¨ yes the manual name is literally right there in the title, we're already slaying.
πΈ NAME πΈ
sane-pnm β a SANE PNM image reader pseudo-backend π
π¦ DESCRIPTION π¦
So the sane-pnm library implements a SANE (Scanner Access Now Easy) backend, and what it does is give you access to PNM files β that's Portable aNyMap, the little family that covers:
PBMbitmap files π€π€PGMgrayscale files π©ΆPPMpixmap files π
And why does this backend even exist, you ask? Main character reason: it's primarily there to help with debugging SANE frontends π It also lowkey serves as an illustrative example of a minimal SANE backend, so if you're trying to figure out what the bare minimum of a backend even looks like β boom, here it is, iconic behavior fr fr.
π DEVICE NAMES π
This backend provides two devices, and they're called 0 and 1. That's it. That's the whole section. No cap. π
β¨ CONFIGURATION β¨
No configuration required. π«Ά literally nothing to set up, we love a low-maintenance queen.
π FILES π
/usr/lib/x86_64-linux-gnu/sane/libsane-pnm.aβ the static library implementing this backend./usr/lib/x86_64-linux-gnu/sane/libsane-pnm.soβ the shared library implementing this backend (present on systems that support dynamic loading).
π§ ENVIRONMENT π§
SANE_DEBUG_PNMβ okay so if the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. E.g., a value of128requests all debug output to be printed. Smaller levels reduce verbosity. So yes bestie, crank it to128when you want the full yapping ππ₯
π BUGS π
listen, this part is important, don't skip it π
If the sane-pnm backend is installed and saned(8) is used to allow users on remote computers to scan on the local machine, PNM files can be read by the remote user. This is limited to the files saned(8) can access (usually it's running as user "sane"). All PNM files can be read if saned(8) runs as root β which isn't recommended anyway, do NOT do that, that's not the vibe. π
Also: the sane-pnm backend is disabled by default. If you want to use it, enable it with configure (see configure --help for details). And be sure that only trusted users can access the sane-pnm backend over saned(8). π«Ά security first, always.
π AUTHOR π
Andreas Beck, Gordon Matzigkeit, and David Mosberger β kings, legends, the blueprint π
π SEE ALSO π
and that's the whole page bestie!! π this version dropped back on 14 Jul 2008, and it lives in section 5 as sane-pnm(5) β so if you ever need to cite it, that's the source, version and date right there. now go debug those frontends, you got this πβ¨π¦
π¦ where this page comes from
- debian bookworm: libsane-common 1.2.1-2 Β· GPL-2.0-or-later WITH sane exception
- debian trixie: libsane-common 1.3.1-3 Β· GPL-2.0-or-later WITH sane exception
- ubuntu jammy: libsane-common 1.1.1-5 Β· GPL-2.0-or-later WITH sane exception
- ubuntu noble: libsane-common 1.2.1-7build4 Β· GPL-2.0-or-later WITH sane exception
- ubuntu questing: libsane-common 1.3.1-4build1
- ubuntu resolute: libsane-common 1.4.0-1ubuntu1 Β· GPL-2.0-or-later WITH sane exception
- ubuntu stonking: libsane-common 1.4.0-1ubuntu2 Β· GPL-2.0-or-later WITH sane exception
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms