SMBSPOOL(8)
π SMBSPOOL β the lil' print spooler that yeets your file to an SMB printer π
okay bestie, welcome to smbspool(8) β yes, section 8, the system administration girlies. this is the manual page and i'm gonna walk you through it like we're texting at 2am π¦
β¨ NAME β¨
smbspool β send a print file to an SMB printer π¨οΈβ¨
β¨ SYNOPSIS β¨
smbspool {job} {user} {title} {copies} {options} [filename]
β¨ DESCRIPTION β¨
so this tool is part of the samba(7) suite, iykyk π
smbspool is a very small print spooling program that sends a print file to an SMB printer. it's giving tiny but mighty, no cap π§
here's the tea though: the command-line arguments are position-dependent for compatibility with the Common UNIX Printing System β so like, do not shuffle them, bestie, they know their seats and they're staying in them π β but you can use smbspool with any printing system or from a program or script. flexible queen π
π DEVICE URI π
smbspool figures out its destination using a Uniform Resource Identifier ("URI") with a method of "smb". this string can take a number of forms:
smb://server[:port]/printersmb://workgroup/server[:port]/printersmb://username:password@server[:port]/printersmb://username:password@workgroup/server[:port]/printer
smbspool tries to get the URI from the environment variable DEVICE_URI. if DEVICE_URI is not present, smbspool will use argv[0] if that starts with βsmb://β or argv[1] if that is not the case. lowkey iconic how it just sniffs around for it π
programs using the exec(2) functions can pass the URI in argv[0], while shell scripts must set the DEVICE_URI environment variable prior to running smbspool. yes, must. the shell script girlies don't get the argv[0] shortcut, sorry babe π
β¨ OPTIONS β¨
job(that'sargv[1]) β contains the job ID number and is presently not used bysmbspool. it's literally just vibing there πuser(that'sargv[2]) β contains the print user's name and is presently not used bysmbspoolexcept in Kerberos environments to access the user's ticket cache. so like, mostly decorative but it has one (1) job in Kerberos-land πtitle(that'sargv[3]) β contains the job title string and is passed as the remote file name when sending the print job. main character energy, it actually gets used βcopies(that'sargv[4]) β contains the number of copies to be printed of the named file. but bestie, if no filename is provided then this argument is not used bysmbspool. so no filename = copies does nothing πoptions(that'sargv[5]) β contains the print options in a single string and is currently not used bysmbspool. slay, a whole argument for nothing πfilename(that'sargv[6]) β contains the name of the file to print. if this argument is not specified then the print file is read from the standard input. classic stdin behaviour, we love her π«Ά
heads up bestie: those first five are all positional.argv[1]throughargv[6], in that exact order, periodt. don't reorder them or it's over π
β¨ VERSION β¨
this man page is part of version 4.24.7 of the Samba suite.
β¨ SEE ALSO β¨
β¨ AUTHOR β¨
smbspool was written by Michael Sweet at Easy Software Products. β¨
the original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed. the way that the whole kernel-style dev model got adopted here? iconic π
okay that's the whole page, you ate that π go forth and print, bestie π
signing off β this was Samba 4.24.7, dated 09/09/2026, and yes it's still giving SMBSPOOL(8) energy π
π¦ where this page comes from
- fedora 44: samba-client 2:4.24.7-1.fc44 Β· GPL-3.0-or-later AND LGPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms