summaryrefslogtreecommitdiffstats
path: root/printerd
diff options
context:
space:
mode:
Diffstat (limited to 'printerd')
-rwxr-xr-xprinterd26
1 files changed, 26 insertions, 0 deletions
diff --git a/printerd b/printerd
new file mode 100755
index 0000000..ef93722
--- /dev/null
+++ b/printerd
@@ -0,0 +1,26 @@
+#! /bin/bash
+
+# This script runs a daemon that listens on a port for printjobs and pipes
+# incoming data into UNIX lpd, which starts a helper program when a print-
+# job is incoming.
+
+USER="$1"
+BUSYBOX="busybox"
+IP="0.0.0.0"
+PORT="515"
+SPOOLDIR="/var/spool"
+SPOOLQUEUE="STANDARD"
+GUIBINARY="printerGUI"
+
+# Create the directory for the queue
+mkdir -p "$SPOOLDIR/$SPOOLQUEUE"
+
+# Change the owner of the directory such that lpd
+# is able to write to it
+chown $USER:$USER "$SPOOLDIR/$SPOOLQUEUE"
+
+# Start the lpdaemon listening on the given port
+exec "$BUSYBOX" tcpsvd -Eu "$USER:$USER" "$IP" "$PORT" \
+ "$BUSYBOX" lpd "$SPOOLDIR" \
+ "$GUIBINARY"
+