> but realistically, it needs to be something simple
1) Yes of course, just a process/daemon started during init phase of the Linux kernel. So it runs always in background.
2) The daemon will listen on the port the handshaking lines.
3) If data is present, the daemon will take it, store the same in a file and/or/xor in memory.
4) Data has to be analyzed and as far as possible the conversion strategy has to be decided. For example if it is esc/p without grafics, a pretty simple transition in a plain ascii file is simple.
5) Fork the process and execute lpr tool with according parameters (I think this does the system call of glibc) to print the file. "lpr" can print pdf, postscript, plaintext either ....
6) jmp 1
However there will be some other problems to be solved.
a) If the user attaches several printers on the usb, how can he select the according one ?
b) If the user wants to use a network printer, how to handle the same?
c) Installation of the correct printer driver, I think this is not always automatically possible.
d) How to handle the case that the user wants the rasperry to provide access to the printer over ethernet for other computers. Maybe the user will use his one and only printer without plugging and unplugging it.
e) The user may not only want a printout, but either the PDF/ASCII or whatever file.
For all those cases I think a webinterface for setup is mandatory, implying a webserver like apache. d) and maybe b) could be handeled i.e. by swat, but its really a bloody tool for non technicians.
Further topics may come up like supporting SIO (Atari) printers, commodore printers etc ...
Here some linkz:
http://www.cups.org/documentation.php/options.html
http://www.samba.org/samba/docs/man/Sam ... /SWAT.html