blob: 05a1052bc6785fd9e48d6aa6a2345498914040e6 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#! /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="manuel"
BUSYBOX="busybox"
IP="0.0.0.0"
PORT="515"
SPOOLDIR="/var/spool"
SPOOLQUEUE="STANDARD"
# SHALL BE UNNECESSARY HENCE printerd RUNS IN USERCONTEXT
## If there are more than 1 seats open, quit
#if [ $(loginctl list-seats) != "seat0" ]; then
# exit
#fi
#
## Get the name(s) of the users physically using the machine
#NAME=$( loginctl | awk '$3 !~ /root/, $4 ~ /seat0/ { print $3 }' | sort -u )
#
## Print error in case of multiple users
#if (( $(echo $NAME | wc -w ) > 1 )) ; then
# echo "[$0] To many users on this seat. Usernames: $NAME" > /tmp/debug-report/printer
# exit
#fi
# 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
"$BUSYBOX" tcpsvd -Eu "$USER:$USER" "$IP" "$PORT" \
"$BUSYBOX" lpd "$SPOOLDIR" sh -c 'printerGUI ms1144 $DATAFILE' &
|